On Nov 8, 6:27 am, Rodrigo Lombardo <[email protected]> wrote:
> Hi
>
> I'm using the nested_attributes plugin and it's working fine. But when
> I try to run the update method, the chield object is not saved. The
> plugin is working just when I use the save method. A new child is
> created when I try to update a current object and the existing related
> object is nullified.
>
> My layout design is:
>
> Account model : one_to_one :profile; nested_attributes :profile
>
> Profile model: many_to_one :account
>
> Any ideas?
>
> Thanks,
>
> Rodrigo Nicola
> twitter.com/rodnic
This appears to work for me:
require 'sequel'
require 'logger'
DB = Sequel.sqlite(:logger=>Logger.new($stdout))
DB.create_table(:accounts) do
primary_key :id
String :name
end
DB.create_table(:profiles) do
primary_key :id
String :name
foreign_key :account_id, :accounts
end
class Account < Sequel::Model
one_to_one :profile
plugin :nested_attributes
nested_attributes :profile
end
class Profile < Sequel::Model
many_to_one :account
end
a = Account.create(:name => 'a')
p = Profile.create(:name => 'p1', :account => a)
a = Account.first
a.update(:profile_attributes=>{:name => 'p2', :id=>p.id})
p Account.all
p Profile.all
If it still isn't working for you, please include a self contained
example like this one so I can troubleshoot.
Jeremy
--
You received this message because you are subscribed to the Google Groups
"sequel-talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sequel-talk?hl=en.