gpt4 book ai didi

ruby-on-rails - 从复选框构建数组时 form_for 的语法

转载 作者:行者123 更新时间:2023-12-03 10:19:04 26 4
gpt4 key购买 nike

我正在为 Order 对象创建一个表单,并且该订单通过名为 OrderProducts 的连接表包含许多产品。所以,我们有这样的事情:

<% @order = Order.new %>
<% form_for @order do |f| %>
<% @products.each do |product| %>
... want to iterate over products here to build up "order[product_ids][]", with one checkbox per product
<% end %>
<% end %>

通常对于每个产品,我都会有一个 check_box_tag,说
<%= check_box_tag "order[product_ids][]", product.id, @order.product_ids.include?(product.id) %>

但这虽然工作正常,但总感觉有点像警察。有没有办法用 f.check_box 做到这一点?句法?重要说明 - 关于我在 Rails 2.2.2 中工作的相关项目,因此适用于 rails 2 的解决方案将是理想的。

最佳答案

rails <= 2.x (原来的)

<% @products.each do |product| -%>

<% fields_for 'product[]' , product do |product_fields| -%>

[...]
<%= product_fields.check_box :id %>

<% end -%>

<% end -%>

rails >= 3.x (更新)
<% @products.each do |product| -%>

<%= fields_for 'product[]' , product do |product_fields| -%>

[...]
<%= product_fields.check_box :id %>

<% end -%>

<% end -%>

关于ruby-on-rails - 从复选框构建数组时 form_for 的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8850188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com