Я признаюсь, что был немного озадачен этим, так как некоторое время занимался рельсами.
Я пытаюсь получить массив значений в params[]
из комбинированного списка с множественным выбором.
Это рельсы 2.3.5 и ruby 1.8.6 (я знаю, я знаю).
Сгенерированный HTML-код:
<select id="shows_" multiple="multiple" name="shows[]">
<option value="5">A Grand Night For Singing (Jan - Feb 2007)</option>
<option value="6">Who's Afraid of Virginia Woolf? (Mar - Apr 2007)</option>
...more options...
</select>
Обратите внимание, что имя выбранного тега оканчивается на '[]' и установлена опция «несколько».
Если я установлю точку останова отладки в верхней части действия контроллера и посмотрю на params[:shows]
:
(rdb:62) p params[:shows]
["17,18,19"]
Захваченные значения верны, но я ожидал ["17","18","19"]
, I.E. массив из N элементов, а не массив из одного элемента, состоящий из N значений, разделенных запятыми.
Я мог бы легко обойти это, но я сбит с толку, так как я почти уверен, что это работало, и поведение, которое я ожидаю, является задокументированным поведением. Есть идеи?