我的表单有一个多重选择元素,如下所示:
<select id="startup_markets" multiple="multiple" name="startup[markets][]" style="width:100%">
<option value="fashion">Fashion</option>
<option value="startups">Startups</option>
<option value="apps">Apps</option>
<option value="social-media">social media</option>
<option value="email-marketing">Email Marketing</option>
</select>
提交帖子后看起来像这样:
------ WebKitFormBoundaryiICoZLa9BoF6eFMx Content-Disposition:form-data; NAME = “启动[市场] []”
时尚 ------ WebKitFormBoundaryiICoZLa9BoF6eFMx Content-Disposition:form-data; NAME = “启动[市场] []”
新创
但是在轨道上我把市场作为一个数组阵列:
(byebug) params["startup"]["markets"]
[["fashion", "startups"]]
它不应该只是["fashion", "startups"]
吗?我可能在这里做些傻事但却无法弄清楚出了什么问题。谢谢你的帮助。
答案 0 :(得分:2)
选择名称可能应为name="startup[markets]"
同样在ruby端,您可以通过调用Array上的flatten
方法来处理。
params["startup"]["markets"].flatten
将导致
=> ["fashion", "startups"]