Как заставить options_for_select отметить тег - PullRequest
1 голос
/ 29 апреля 2011

Я пытаюсь сделать отступ для параметров в выбранном списке категорий на основе их иерархического уровня, например, Category, Subcategory, Subsubcategory.

Я пробовал: <% options = options_for_select @categories.map{|c| [("&nbsp;" * c.level) + c.name, c.id]} %>,но это выглядит как &nsbp;Subcategory и &nbsp;&nbsp;Subsubcategory.

Я пробовал: <% options = options_for_select @categories.map{|c| [(" " * c.level) + c.name, c.id]} %>, но игнорирует пробелы и визуализирует как Subcategory и Subsubcategory.

кактест, я пробовал <%= ("&nbsp;" * 3) + "hello" %>, и это дает то, что я ожидаю: hello.

Кто-нибудь знает, как получить результаты, которые я ищу?

1 Ответ

1 голос
/ 29 апреля 2011

Попробуйте использовать (("&nbsp;" * c.level) + c.name).html_safe.Проблема в вспомогательном методе options_for_select, использующем html_escape, который экранирует ваши &nbsp; сущности.Добавление html_safe позволит методу html_escape, вызываемому из помощника options_for_select, избежать пробелов.

...