Tôi đã có một hình thức lồng nhau (sử dụng đá quý nested_form Ryan B) sử dụng một has_and_belongs_to_many để has_and_belongs_to_many thiết lập:Tạo một kỷ lục mới ở dạng lồng nhau Rails HABTM
Opening has_and_belongs_to_many :contacts
Contact has_and_belongs_to_many :openings
Khi cố gắng thêm liên hệ mới vào phần mở đầu, trong trường hợp này tôi nhận được:
Can't mass-assign protected attributes: new_1346666966632
cho
"opening"=>{"contacts_attributes"=>{"new_1346666966632"=>{"contacts"=>{"name"=>"Test Contact",
Tôi đã thêm tương ứng "accepts_nested_attributes_for" và "attr_accessible", và đang xây dựng tiếp xúc tức là @ opening.contacts.build và @ opening.contacts.build (params [: mở] [: contact_attributes]) trong bộ điều khiển.
Tôi sẽ làm gì sai? Sẽ tốt hơn nếu sử dụng mối quan hệ has_many ở đây?
EDIT:
Xem:
<%= simple_nested_form_for @opening, :wrapper => :plain do |f| %>
<%= f.link_to_add "Add a contact", :contacts %>
<%= f.button :submit %>
<% end %>
Trong đó sử dụng một phần để tạo ra các lĩnh vực cho tiếp xúc lồng nhau:
<%= f.fields_for :contacts, @opening.contacts.build do |contact_form| %>
<%= contact_form.input :name, :label => false, :input_html => { :class => 'span6' } %>
<%= contact_form.input :company, :label => false, :input_html => { :class => 'span6' } %>
<%= contact_form.input :telephone, :label => false, :input_html => { :class => 'span6' } %>
<%= contact_form.input :email_address, :label => false, :input_html => { :class => 'spa12' } %>
<% end %>
thử thêm attr_accessible: contacts_attributes và kiểm tra – Amar
xin lỗi, quên đề cập đến tôi đã nhận được điều đó quá –
Thêm 'mã view' của bạn cũng – Samiron