Moh*_*mad 14 ruby ruby-on-rails slim-lang
我正在尝试渲染一个前面带有图标的链接.我正在使用Slim模板引擎和Bootstrap CSS.
通常您可以通过以下方式执行此操作:
<a href="#"><i class="icon-user"></i> My Profile</a>
Run Code Online (Sandbox Code Playgroud)
根据Slim的文档,我们可以使用==渲染而不转义HTML.所以,将其翻译为Slim,我尝试了以下变化:
li== link_to "<i class='icon-user'></i> My Profile", current_user
li== link_to "#{'<i class="icon-user"></i>'.html_safe} My Profile", current_user
li= link_to "#{'<i class="icon-user"></i>'.html_safe} My Profile", current_user
Run Code Online (Sandbox Code Playgroud)
渲染的所有变体都会<a href="/users/1"><i class="icon-user"></i> My Profile</a>转义i标记.
如何阻止Slim或Rails逃避html?
(Rails 3.2 with Slim 1.2.1)
mu *_*ort 11
您希望禁用link_to参数的HTML转义,而不是整个link_to结果.你跟你很近,html_safe但是你的字符串插值正在吃掉你的"安全的HTML"标志.这应该更好:
li= link_to '<i class="icon-user"></i> My Profile'.html_safe, current_user
Run Code Online (Sandbox Code Playgroud)
nro*_*ose 11
已经回答了这个问题,但是如果你真的有一些html并且想要在一个纤薄的模板中渲染它,请使用double equal.
== "<i>test</i>"
Run Code Online (Sandbox Code Playgroud)
将是一样的
= "<i>test</i>".html_safe
Run Code Online (Sandbox Code Playgroud)
或者,您可以将其写为
li
a href=url_for(current_user)
i.icon-user My Profile
Run Code Online (Sandbox Code Playgroud)
这可能有点容易阅读.
| 归档时间: |
|
| 查看次数: |
17179 次 |
| 最近记录: |