1

我的文件中有一个多选框。

<%= c.select(:city, [['Indore', 'Indore'],
                                  ['Delhi', 'Delhi'],
                                  ['Kolkata', 'Kolkata'],
                                  ['Hydrabad', 'Hydrabad'],
                                  ['Jabalput', 'Jabalput']
                                 ],{ },
                                   { :multiple => true }
                                 ) %>

当我选择“Hydrabad”和“Jabalpur”城市并提交表格时,params就像

(rdb:3359) p params
{"utf8"=>"✓", "authenticity_token"=>"SsuXi8K205lHGsKJgkqGpps09gCbehJoO/R8vXGWx+g=", "city"=>{"city"=>["", "Hydrabad", "Jabalput"
]}, "commit"=>"Save City", "controller"=>"posts", "action"=>"addCity"}

所以在城市 "city"=>{"city"=>["", "Hydrabad", "Jabalput" ]}

,第一个值是空白的,即在“Hydrabad”之前

请清除此行为?我不希望那个空白值作为第一个位置。

4

2 回答 2

0

问题解决了,其实我用过

city.delete_if{|x| x.空?

执行上述代码后,城市数组即将到来

{"city"=>["Hydrabad", "Jabalput" ]}

请让我知道是否还有其他更好的解决方案?

于 2013-08-29T11:35:15.300 回答
0

我认为以下链接可能会对您有所帮助。您希望在提交表单时从列表中删除第一个元素(不必要的额外元素)。

Ruby:从数组中删除第一个元素的最简单方法是什么?

您想使用该shift功能,更具体地说。

于 2013-08-29T11:28:51.117 回答