html_safe无法在rails上使用ruby

时间:2013-05-24 06:53:07

标签: ruby-on-rails ruby-on-rails-3 erb html-safe

我正在使用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标记的情况下可以听到

2 个答案:

答案 0 :(得分:2)

你也应该在javascript中逃避。使用escape_javascript帮助

speak('<%=j posts_item.content.html_safe %>')

答案 1 :(得分:0)

您声明已尝试speak('<%= raw posts_item.content %>')。在这种情况下正确使用原始助手方法是<%= raw(posts_item.content) %>(注意posts_item.content在括号内