2016-06-21 2 views
0

레일 을 사용하여 개체를 업데이트하려고합니다. 그러나 오류가 발생합니다 : 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 %> 

컨트롤러에서 허용하는 매개 변수와 일치하도록 양식의 매개 변수를 어떻게 설정할 수 있습니까?

고마워요. 레일 가이드에서

<%= 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

+0

나는 당신이 fields_for 태그 협회의 이름을 지정해야 할 수도 있습니다 생각 – hypern

답변

0

는 시도했다. 예. <% = f.fields_for : cart_products, cart_product do | cp | %>
관련 문제