Ruby on rails 表单中嵌套数组隐藏输入字段的Rails(Haml)

Ruby on rails 表单中嵌套数组隐藏输入字段的Rails(Haml),ruby-on-rails,haml,Ruby On Rails,Haml,什么是更好的“Rails方式”呢 - shops.map(&:id).each do |id| <input id="p_shop_ids_#{id}" name="p[shop_ids][]" type="hidden" value="#{id}" /> -shops.map(&:id)。每个do|id| 我最近读到,从这个意义上讲,Haml是向下兼容的。但是感觉应该用rails复选框帮助器来完成,你可以根据@Sontya的评论使用。(谢谢!!) 生成正确的

什么是更好的“Rails方式”呢

  - shops.map(&:id).each do |id|
    <input id="p_shop_ids_#{id}" name="p[shop_ids][]" type="hidden" value="#{id}" />
-shops.map(&:id)。每个do|id|

我最近读到,从这个意义上讲,Haml是向下兼容的。但是感觉应该用rails复选框帮助器来完成,你可以根据@Sontya的评论使用。

(谢谢!!)


生成正确的输出(我必须添加id选项)

-@shops.map(&:id)。每个do | id |=hidden|u field_标记“shop_id[]”,id@Sontya我明确需要嵌套在“p”中的数组。。这不会包含在你的解决方案中。我试过一种方法,结果我得到了p[shop_id[],而不是p[shop_id][],它是params散列中的一个散列键,其中包含一种具有param属性的散列(还有其他类型的param属性,所以最好将其组织在子散列中)。。控制器接收的参数类似于{“utf8”=>”✓", "p“=>{”country_id“=>“1”,shop_id:[“1”,“2”],…},…}-@shops.map(&:id)
- shops.map(&:id).each do |id|
  = hidden_field_tag "p[shop_ids][]", id, id: "p_shop_ids_#{id}"