Rails - Custom html into simple_form label

杀马特。学长 韩版系。学妹 提交于 2019-11-30 16:38:33

问题


I'm trying to customize the output of a simple_form association, basically I need to display a checkbox label on two lines. My idea was adding a "br" tag into the "label", but unfortunately it gets escaped so it display actually "br" instead of going to a new line

I use a lambda for customizing the label output

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

this produces an escaped br into the label string, how could I display the label on two lines?


回答1:


call html_safe method on the string you want not to be escaped.

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



回答2:


For those of you looking to have custom html in elements as the title of the OP's question suggests, you can do this:

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



回答3:


Does html_safe help?

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

if not, then post an example app on github showcasing this issue, so we can debug it



来源:https://stackoverflow.com/questions/14671310/rails-custom-html-into-simple-form-label

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!