Я изучаю рельсы и борюсь с этим уже более суток и не могу понять, как заставить это работать. Я хочу выбрать поле в моей форме, которое может выбрать несколько элементов. У меня это работает с этим кодом:
<div class="field">
<%= f.label :products %><br />
<%= f.select :products, {"A"=>1, "B"=>2, "C"=>3, "D"=>4},{},:size=>5,:multiple=>true %>
</div>
Это прекрасно работает и создает этот HTML:
<div class="field">
<label for="script_products">Products</label><br />
<select id="script_products" multiple="multiple" name="script[products][]" size="5">
<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
<option value="4">D</option></select>
</div>
Что я могу понять, так это как результаты отправляются / сохраняются. На мой взгляд, для действия «показать», если я просто распечатываю: продукты, которые я получаю:
Продукты: --- - '1' - '2' - '3'
Если я распечатываю: products.inspect, я получаю это:
Продукты: "--- \ n- '1' \ n- '2' \ n- '3' \ n"
и класс является строкой. Я думал бы, что это будет сохранено как массив, но я не могу заставить это работать. Я не знаю, откуда черточки или переводы строк.