在rails4.2中如果你写如下代码,post的select无法传回多选内容,即使你select设置为多选:
<select id='id_size' name='name_size' multiple='multiple' size='10'>
<option value="1">Small</option>
<option value="2">Medium</option>
<option value="3">Large</option>
</select>
传回的结果是:
Parameters: {"utf8"=>"", "authenticity_token"=>"1cU6b2VxJ/JHql3Cig==", "email"=>"hopy@live.cn", "one"=>"one_one", "size"=>"small", "name_size"=>"3", "payments"=>["1", "3"], "submit"=>"submit"}
注意name_size是select返回内容,虽然我选择了2个但只能看到一个值。需要将代码修改如下即可:
<select id='id_size' name='name_size[]' multiple='multiple' size='10'>
<option value="1">Small</option>
<option value="2">Medium</option>
<option value="3">Large</option>
</select>
要在name的值最后加上[],比较神奇,不是吗?