Rails 3 中的微型 MCE 显示标签
我正在尝试将tinyMCE 的内容存储到“详细信息”列中。
现在,当我显示内容时,它会显示所有
标签
标签等。 这是rails3 中的一项安全功能。
但我不希望显示
标签,我希望将其呈现为 HTML。
我发现的一种方法是 <%= Something.detail.html_safe %>
我认为的另一种方法是在模型中创建一个函数
def detail_safe
return self.detail.html_safe
end
,并使用 <%= Something.detail_safe 显示%>
无论哪种方式,我都需要在很多地方更改 <%= %>
标记。有更简单的解决方案吗?还是我应该在每个地方手动更改?
谢谢。
I am trying to store content of tinyMCE into "detail" coloumn.
Now when I display the content it displays wit all the <p>
tags <i>
tags etc.
This Is a security feature in rails3 .
But I don't want the <p>
tags to be displayed , I want it to be rendered as HTML.
One way I found was <%= something.detail.html_safe %>
the other way I thought was to create a function in model like
def detail_safe
return self.detail.html_safe
end
and display using <%= something.detail_safe %>
Either ways I need to change the <%= %>
tag at many places. Is there an easier solution? Or should I manually change at every place?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在模型中:
请注意,在这种情况下,当您执行
model_object.detail
时,您将始终获得 html_safe 输出。In the model:
Please note that you will always get html_safe output in this case when you do
model_object.detail
.无论您如何操作,您都必须更改所有
<%= %>
。您的选择是:
我能想到的唯一其他选择是关闭 XSS 保护 - 但不要这样做!
Not matter how you do it, you will have to change all of your
<%= %>
.Your options are:
The only other option I can think of is turning off XSS protection - but don't do that!