Метка выбора 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!(/-/, '')
Хотя это, вероятно, не очень хорошая идея.