我无法让它工作......甚至使用raw或html_safe
视图
<%= button_to(glyphicon('heart', 'I love it !'), some_path, class: "btn btn-success")%>
辅助
def glyphicon(glyph, text = nil)
html = "<i class=\"glyphicon glyphicon-#{glyph}\"></i>"
html += " #{text}" if text
html.html_safe
end
结果
之后
<i class=
和" />
的成功btn
以下作品(我已经做了很多年了),但额外的do
语法很烦人......
<%= button_to(some_path(@etude), class: "btn btn-success") do %>
<i class="glyphicon glyphicon-heart"></i> I love it !
<% end %>
修改
找到更紧凑的语法:
<%= button_to(some_path(@etude), class: "btn btn-success"){
glyphicon('heart', 'I love it')} %>
答案 0 :(得分:0)
我认为它不是html安全的问题,而是button_to的name属性只接受纯文本。
<%= button_to("<b>hello</b>".html_safe, 'http://www.google.com', :class => 'button', :method => 'get') %>
和
<%= button_to("<b>hello</b>", 'http://www.google.com', :class => 'button', :method => 'get') %>
两者都会生成一个写有<b>hello</b>
的按钮,而不是粗体的hello。
使用do的方法是唯一的方法,在通过link_to链接glyphicons时需要做同样的事情。
但你可以这样做。
<%= button_to(some_path(@etude), class: "btn btn-success") do %>
glyphicon('heart','I love it')
<% end %>