2016-06-21 5 views
0

rails を使用してオブジェクトを更新しようとしています。しかし、私はエラーを受け取ります:Unpermitted parameter: cart_productネストされたアトリビュートを使用してRailsオブジェクトを更新する

has_many :cart_products 
accepts_nested_attributes_for :cart_products 

そして、私のコントローラで私のパラメータを定義しています:

私はhas_many関係持っている私の見解では

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

私はあなたがfields_forタグに関連の名前を指定する必要かもしれないと思います。例えば。 <%= f.fields_for:cart_products、cart_product do | cp | %> – hypern

答えて

関連する問題