html_safe не работи в ruby ​​on rails

Използвам ckeditor, за да запазвам съдържанието на публикациите. Ако запазя нещо в моята база данни, то записва съдържание с html тагове. За да избягам от html, използвам функцията <%= raw(posts.content) %>. Използвам Speak.js за добавяне на функционалност и за слушане на съдържание на публикации. Ето аз правя така...

<script src="speakClient.js"></script>
<img src="img/listenpost.png" alt="Listen Post" onclick="speak('<%= posts_item.content.html_safe %>')" style="cursor:pointer;" />

но тук той говори съдържание с html тагове. И аз се опитах да направя така

 speak('<%== posts_item.content %>') or  speak('<%= raw posts_item.content %>')

Но нищо не ми действа. Как мога да избегна html тагове, така че публикациите ми да се чуват без HTML тагове


person Free-Minded    schedule 24.05.2013    source източник
comment
speak('<%== posts_item.content %>') - Трябва да има само един знак за равенство след % (<%=)   -  person    schedule 24.05.2013
comment
speak('<%== posts_item.content %>') или speak('<%= raw posts_item.content %>') и двете работят еднакво   -  person Free-Minded    schedule 24.05.2013
comment
Моя грешка. Свикнал съм да поставям само един знак за равенство   -  person    schedule 24.05.2013


Отговори (2)


Трябва да избягате и в javascript. Използване на escape_javascript помощник

speak('<%=j posts_item.content.html_safe %>')
person ck3g    schedule 24.05.2013
comment
Благодаря за отговора ви, но опитах това в моя файл html.erb, не работи - person Free-Minded; 24.05.2013

Заявявате, че сте опитали speak('<%= raw posts_item.content %>'). Правилното използване на суровия помощен метод в този случай би било <%= raw(posts_item.content) %> (обърнете внимание, че posts_item.content е в скоби

person Community    schedule 24.05.2013
comment
Ruby дава възможност и за избягване на скоби. Но се опитвам да поставя и това, но не работи - person Free-Minded; 24.05.2013