Rails - Пользовательский html в метку simple_form
Я пытаюсь настроить вывод ассоциации simple_form, в основном мне нужно отобразить метку флажка на двух строках. Моя идея заключалась в добавлении тега "br" в "label", но, к сожалению, он ускользает, поэтому он отображает фактически "br" вместо перехода на новую строку
Я использую лямбда для настройки вывода метки
<%= f.association :item, :as => :check_boxes, :collection => current_user.items, :label => false, :label_method => lambda { |item| "#{item.city.capitalize},<br> #{item.address}" }%>
это приводит к экранированному br в строку метки, как я могу отобразить метку на двух строках?
Ответы
Ответ 1
вызывать метод 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 }%>
Ответ 2
Для тех из вас, кто хочет иметь пользовательский html в элементах, как говорит название вопроса OP, вы можете сделать это:
= f.input(:Foo, label: "Foo <span>(Blah helper text blah)</span>".html_safe)
Ответ 3
Помогает ли html_safe
?
<%= f.association(....).html_safe %>
если нет, то опубликуйте пример приложения в github, демонстрирующий эту проблему, чтобы мы могли отлаживать его