0
두 가지 모델, 상위 및 하위가 있습니다. 나는 양식을 사용하여 부모를 창조하면서 그를 위해 자녀를 만들고 싶습니다. 나는 다음과 같은 한 :레일은 여러 양식에 대해 중첩 된 속성을 허용합니다.
parent.rb
class Parent < ActiveRecord::Base
has_many :children
accepts_nested_attributes_for :children
end
child.rb
class Child < ActiveRecord::Base
belongs_to :parent
end
_form.rb
내가 부모를 만드는 오전 동안 내가 할 수 있도록하려면<%= form_for Parent.new do |f| %>
<%= f.label :first_name %>
<%= f.text_field :first_name %></br>
<%= f.label :last_name %>
<%= f.text_field :last_name %></br>
<%= f.label :email %>
<%= f.text_field :email %></br>
<%= f.label :phone %>
<%= f.text_field :phone %></br>
<%= f.fields_for Child.new do |builder| %>
<%= builder.label :first_name %><br>
<%= builder.text_field :first_name %><br>
<% end %>
<%= f.fields_for Child.new do |builder| %>
<%= builder.label :first_name %><br>
<%= builder.text_field :first_name %><br>
<% end %>
<%= f.submit %>
<% end %>
, 그를 위해 하나 또는 여러 개의 자녀를 만들 수 있습니다. 이 양식을 제출하면 Unpermitted parameter: child
메시지가 나타납니다.
또한이 매개 변수 해시에서이 양식을 제출하면 마지막 자식 양식의 자식에 대한 정보 만 제공됩니다. 이 문제를 해결하는 방법?
이 내 PARAMS 허가 방법 :
params.require(:parent).permit(:first_name, :last_name, :email, :phone, child:{})
:': 어린이 '또한 params에서는'children_attributes : {}'가 아닌 :'child : {}'를 필터링해야합니다. 레일스 서버 로그에있는 양식의 매개 변수에 무엇이 들어 있는지 찾아보십시오. – Surya
아직 '허용되지 않은 매개 변수 : 자식'메시지가 있습니다. –
내가 말했듯이, 허용되어야하는 params 정보를 레일 서버 로그에서 찾으십시오. – Surya