Luc*_*cas 39 escaping erb ruby-on-rails-3
在Rails 3应用程序中,我有一个域类,其中一个属性存储纯HTML内容(它是一个博客应用程序,域类是Post).
在ERB模板中,我需要在格式化时显示属性的内容,并使用HTML标记.但是,Rails正在逃避所有HTML标签!如何为此类属性禁用此行为?
例:
somePost = Post.new
somePost.content = "<strong> Hi, i'm here! </strong>"
Run Code Online (Sandbox Code Playgroud)
在erb模板中:
<%= somePost.content %>
Run Code Online (Sandbox Code Playgroud)
生成的HTML被转义:
<strong> Hi, i'm here! </strong>
Run Code Online (Sandbox Code Playgroud)
Ski*_*ick 59
使用raw(string),如发行说明中所述.
7.4.3其他变更
您不再需要调用h(字符串)来转义HTML输出,默认情况下它在所有视图模板中都处于打开状态.如果你想要未转义的字符串,请调用raw(string).
基本上,你在哪里
<%=h @model.attr %>
Run Code Online (Sandbox Code Playgroud)
在你现在可以使用之前
<%= @model.attr %>
Run Code Online (Sandbox Code Playgroud)
在你现在可以使用之前你已经做到了
<%=raw @model.attr %>
Run Code Online (Sandbox Code Playgroud)
sev*_*cat 58
尝试使用raw(somePost.content).或者,somePost.content.html_safe.
Chr*_*ton 36
使用double equals意味着结果不会被转义......
<%== somePost.content %>
Run Code Online (Sandbox Code Playgroud)
看到这个关于它的问题 - 在rails erb中做什么<%==%>?
| 归档时间: |
|
| 查看次数: |
34336 次 |
| 最近记录: |