我试图让这个工作:
link_to("#", class: "add_fields btn btn-success") do
name
content_tag(:i, "", :class => "icon-plus icon-white")
end
但它只能说明我所指定的图标i
(Twitter的引导CSS),而不是在文本name
,我究竟做错了什么?
我试图让这个工作:
link_to("#", class: "add_fields btn btn-success") do
name
content_tag(:i, "", :class => "icon-plus icon-white")
end
但它只能说明我所指定的图标i
(Twitter的引导CSS),而不是在文本name
,我究竟做错了什么?
块的返回值将成为其内容。 只有最后一行被返回。
你必须连同串联两个字符串+
产生一个返回值:
link_to("#", class: "add_fields btn btn-success") do
name + content_tag(:i, "", class: "icon-plus icon-white")
end
你需要使用html_safe
以防止你的标签的内容就不会自动HTML编码:
link_to("#", class: "add_fields btn btn-success") do
name + content_tag(:i, "", class: "icon-plus icon-white").html_safe
end
从Twitter的引导个人的经验来说,我知道你会需要之间的空间name
和content_tag
:
link_to("#", class: "add_fields btn btn-success") do
name + ' ' + content_tag(:i, "", class: "icon-plus icon-white").html_safe
end
或者,如果是ERB模板内,可以与输出两个值<%=
:
<%= link_to( ... ) do %>
<%= name %>
<%= content_tag( ... ) %>
<% end %>
有两件事情我会考虑:
1)的全部内容link_to
块需要被消毒。
link_to("#", class: "add_fields btn btn-success") do
(name + content_tag(:i, "", class: "icon-plus icon-white")).html_safe
end
2)我们能期待的输入是nil
?
如果我们所说的东西会打破html_safe
一个上nil
对象。 使用raw
如果有机会的话,这可能发生。
link_to("#", class: "add_fields btn btn-success") do
raw(name + content_tag(:i, "", class: "icon-plus icon-white"))
end
这是关于这个问题的一个很好的阅读。 我的博客文章提出了这样一个有趣的应用。
对于那些使用字体真棒或别的东西可能不会显示图标。 但这种解决方案工作。
link_to :sort => column, :direction => direction do
"#{title} #{content_tag(:i, "", class: "fa fa-chevron-up") }".html_safe
end