我正在尝试使用rails accepts_nested_attributes_for
更新对象。但我收到一个错误:Unpermitted parameter: cart_product
我有一个has_many
关系:
has_many :cart_products
accepts_nested_attributes_for :cart_products
并在我的控制器中定义了我的参数:
def cart_params
params.require(:cart).permit(
cart_product_attributes: [
:quantity,
:product_id
]
)
end
在我看来,我的表单已经在循环cart_products
中。
<%= form_for @cart do |f| %>
<%= f.fields_for cart_product do |cp| %>
<%= cp.number_field :quantity, value: cart_product.quantity, min: 1, step: 1, class: "input-quantity" %>
<%= cp.hidden_field :product_id, value: cart_product.product_id %>
<% end %>
<% end %>
如何在表单中设置参数以匹配控制器接受的参数?
三江源。
答案 0 :(得分:0)
你有没有尝试过:
<%= form_for @cart do |f| %>
<%= f.fields_for cart_product, @cart.cart_product do |cp| %>
<%= cp.number_field :quantity, value: cart_product.quantity, min: 1, step: 1, class: "input-quantity" %>
<%= cp.hidden_field :product_id, value: cart_product.product_id %>
<% end %>
<% end %>
来自导轨指南:http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-fields_for