Rails - 自定义html到simple_form标签

时间:2013-02-03 09:59:35

标签: ruby-on-rails associations simple-form

我正在尝试自定义simple_form关联的输出,基本上我需要在两行上显示复选框标签。我的想法是在“标签”中添加一个“br”标签,但不幸的是它被转义,因此它实际上显示为“br”而不是转到新行

我使用lambda来自定义标签输出

<%= f.association :item, :as => :check_boxes, :collection => current_user.items, :label => false, :label_method => lambda { |item| "#{item.city.capitalize},<br> #{item.address}" }%>

这会在标签字符串中生成一个转义的br,如何在两行上显示标签?

3 个答案:

答案 0 :(得分:31)

在您不希望转义的字符串上调用html_safe方法。

<%= f.association :item, :as => :check_boxes, :collection => current_user.items, :label => false, :label_method => lambda { |item| "#{item.city.capitalize},<br> #{item.address}".html_safe }%>

答案 1 :(得分:12)

对于那些希望在元素中使用自定义html作为OP问题标题的人,你可以这样做:

= f.input(:Foo, label: "Foo <span>(Blah helper text blah)</span>".html_safe)

答案 2 :(得分:2)

html_safe有帮助吗?

<%= f.association(....).html_safe %>

如果没有,那么在github上发布一个示例应用程序来展示这个问题,所以我们可以调试它