Rails param hash包含多个select

时间:2015-06-22 09:18:37

标签: ruby-on-rails

我的表单有一个多重选择元素,如下所示:

<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"]吗?我可能在这里做些傻事但却无法弄清楚出了什么问题。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

选择名称可能应为name="startup[markets]"

同样在ruby端,您可以通过调用Array上的flatten方法来处理。

params["startup"]["markets"].flatten

将导致

=> ["fashion", "startups"]