Hello, If user --> has_many :address How can we do a build_address as it expects a has_one relationship? Thanks, Avi
on 2012-12-11 10:50
on 2012-12-11 10:58
On 11 December 2012 09:49, Avi <firstname.lastname@example.org> wrote: > Hello, > > If user --> has_many :address > > How can we do a build_address as it expects a has_one relationship? @user.addresses.build( ... ) Have a look at the Rails Guide on ActiveRecord Associations. It shows all the methods available for each association type. Colin
on 2012-12-11 13:27
Hai! View this link http://guides.rubyonrails.org/association_basics.html by bdeveloper01
on 2012-12-11 15:26
On Tue, Dec 11, 2012 at 3:49 AM, Avi <email@example.com> wrote: > If user --> has_many :address > > How can we do a build_address as it expects a has_one relationship? The association is created by a foreign key on addresses which should be `user_id` unless you want a custom field (for example I would prefer it to be uid so I tell them that is the case but you need to read the links provided by others to see how to do that.) Then to the easiest way to create records on the association is: User.find_by_email("firstname.lastname@example.org").addresses.new Though again, for the sake of context and readability I prefer to also alias all my associations to their singular form for creation because to me it makes no sense to do User.new.addresses.new when you are only creating a single address, it only makes sense when pulling the them.