Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 创建时的Rails habtm复选框_Ruby On Rails_Ruby_Ruby On Rails 3_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 创建时的Rails habtm复选框

Ruby on rails 创建时的Rails habtm复选框,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 4,是否可以在创建操作上使用habtm复选框 因为: <%= hidden_field_tag "product[size_ids][]", nil %> <% Size.order(:size).each do |size| %> <li> <%= check_box_tag "product[size_ids][]", size.id, Product.size_ids.include?(

是否可以在创建操作上使用habtm复选框

因为:

   <%= hidden_field_tag "product[size_ids][]", nil %>
              <% Size.order(:size).each do |size| %>
                <li> <%= check_box_tag "product[size_ids][]", size.id, Product.size_ids.include?(size.id), id: dom_id(size) %>
                <%= label_tag dom_id(size), size.size %>
                </li>
              <% end %>

  • 正在更新中,自从被用来创建页面rails吐出

    未定义的方法“大小\ ID”#


    那么,有没有一种方法可以在创建操作中使用habtm?

    因为您可能要处理一个项目,您的意思可能是:

    @product.sizes_ids
    

    产品
    型号与任何尺寸都没有直接关联,只有它的实例有关联。

    使用集合复选框获取所有带有ID的型号示例:

     <%=p.collection_check_boxes :size_ids, Size.all, :id, :size %>
    
    
    
    谢谢,但我不明白你的意思。还没有迭代吗?一些助手函数会迭代并生成多个元素,如
    options\u for\u select
    does,但复选框不是这样工作的。您是只允许在此处取消选择,还是希望向用户显示所有选项?向用户显示所有选项。但是,在任何情况下,似乎只是在更新操作中,这需要已经创建的产品。进一步思考后,我认为您在这里有正确的想法,但您在包含逻辑上绊倒了。我据此编辑了我的答案。非常感谢,我确实理解了。只需使用收集复选框,即可获得所有尺寸。