2
我正在学习rails,并且一直在为此奋斗了一天以上,无法弄清楚如何使这个工作。我想在我的表单中可以选择多个元素的选择框。我有这样的与此代码的工作:形式多选
<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我得到这个:
产品 “--- \正 '1' \正 '2' \正 '3' \ n” 个
和类是一个字符串。我会认为它将作为一个数组存储,但我无法让它工作。我不知道破折号或换行符来自哪里。
您正在打印'params [:script] [:products]'的结果吗? – nathanvda
我这样做:<%= @ script.products%> –
这是脚手架生成的代码。最初在新视图中,它是一个文本字段,我将其更改为多个选择框。所以,我想我需要改变我的模型,以反映我想存储数组?但不完全确定。 –