Подтвердить что ты не робот

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 в строку метки, как я могу отобразить метку на двух строках?

4b9b3361

Ответ 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, демонстрирующий эту проблему, чтобы мы могли отлаживать его