hi all,
i have the following models:
class Developer < ActiveRecord::Base has_and_belongs_to_many :projects accepts_nested_attributes_for :projects end
class Project < ActiveRecord::Base has_and_belongs_to_many :developers accepts_nested_attributes_for :developers end
the following code:
params = { 'form' => { 'name' => 'gonzalo', 'dni' => '12876365x', 'projects_attributes' => { 'new_01' => { 'name' => 'Sioux', 'cost' => '25000' }, 'new_02' => { 'name' => 'Apache', 'cost' => '3400'}}}} Developer.create(params['form'])
will create a new Developer and two new Projects and the corresponding association between Developer and Projects.
then, I add a new Developer using the same mechanism:
params = { 'form' => { 'name' => 'paul', 'dni' => '17002034z', 'projects_attributes' => { '1' => { 'name' => 'ZZZZ', 'cost' => '25000' }, '2' => { 'name' => 'YYYY', 'cost' => '3400'}}}} Developer.create(params['form'])
following NestedAttributes documentation... this code should add a new Developer (paul) and link it against the two already created Projects with ids 1 and 2. Besides, this code should modiify projects names from Sioux and Apache to ZZZZ and YYYY respectively.
the real result is that a new Developer (paul) is added but linked against two new Projects (ZZZZ and YYYY)
am I doing something wrong? should i use another approach to face this problem? is accept_nested_attributes_for feature compatible with habtm associations?
and last... what if i just want to create a new Developer (paul) that is associated with the already created Projects with ids 1 and 2? The following code won't work:
params = { 'form' => { 'name' => 'paul', 'dni' => '17002034z', 'projects_attributes' => { '1' => { }, '2' => { }}}} Developer.create(params['form'])
thanks in advance for your help! regards.