5

Tengo una forma anidada (usando joya nested_form de Ryan B) utilizando un has_and_belongs_to_many a has_and_belongs_to_many configuración:Creación de un nuevo registro en los carriles HABTM forma anidada

Opening has_and_belongs_to_many :contacts

Contact has_and_belongs_to_many :openings

Al intentar añadir un nuevo contacto a una abertura, en este caso me sale:

Can't mass-assign protected attributes: new_1346666966632

para

"opening"=>{"contacts_attributes"=>{"new_1346666966632"=>{"contacts"=>{"name"=>"Test Contact",

He añadido el correspondiente "accepts_nested_attributes_for" y "attr_accessible", y estoy construyendo el contacto es decir @ opening.contacts.build y @ opening.contacts.build (params [: apertura] [: contact_attributes]) en el controlador.

¿Dónde me estoy equivocando? ¿Sería mejor utilizar aquí una relación has_many through?

EDIT:

Vista:

<%= simple_nested_form_for @opening, :wrapper => :plain do |f| %> 
    <%= f.link_to_add "Add a contact", :contacts %> 
    <%= f.button :submit %> 
<% end %> 

que utiliza un parcial de generar campos para contactos anidada:

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

intentar añadir attr_accessible: contacts_attributes y comprobar – Amar

+0

lo siento, se olvidó de mencionar ya tengo eso también –

+0

Añadir sus códigos 'view' también – Samiron

Respuesta

2

Necesitas estar construcción/creación de los contactos de la modelo de apertura, en lugar de intentar asignar manualmente los atributos de contactos. Su código de controlador necesita ser algo como:

@opening.update_attributes(params[:opening]) 

Mira la Rails guide for more info on using nested attributes

Cuestiones relacionadas