Метка выбора Rails возвращает дефисы

Я использовал тэг выбора рельсов, чтобы реализовать несколько приложений выбора в моем приложении

<%= f.select(:tag, ['Phone', 'Email','Website','Address', 'Occupation'], {},  :id=>"multiple",:class=>"select2", :multiple=>"multiple" ,:style=>"width:200px" ) %>

Проблема, с которой я сталкиваюсь, заключается в том, что значение, которое возвращает ответ, всегда содержит некоторые нежелательные дефисы и кавычки. Например, если я выбираю "Телефон" и "Электронная почта" из меню множественного выбора, возвращаемое значение выглядит следующим образом: --- - '' - Phone - Email

Почему это счастье? Я не могу идти дальше, если не смогу решить, Любые подсказки?

Я добавил Jscript, чтобы обеспечить внешний вид плиточного тега в части вида

  <script>
    $('.select2').select2({ placeholder : '' });
 </script>

Проблема не возникает, когда я удаляю приведенный выше скрипт

2 ответа

Решение

Я думаю, это должно быть написано как ниже:

<%= f.select :tag, options_for_select(["Phone", "Email", "Website", "Address", "Occupation"]), :id=>"multiple",:class=>"select2", :multiple=>"multiple" ,:style=>"width:200px" %>

Редактировать: попробуйте ниже вариант, это может работать для вас:

<%= f.select(:tag,  %w[Phone Email Website Address Occupation], {},  :id=>"multiple",:class=>"select2", :multiple=>"multiple" ,:style=>"width:200px" ) %>

Также, пожалуйста, обратитесь http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html

Вы могли бы сделать str.gsub!(/\'/, '') а потом str.gsub!(/-/, '')Хотя это, вероятно, не очень хорошая идея.

Другие вопросы по тегам