Forum: Ruby on Rails Associations

Posted by Avi (Guest)
on 2012-12-11 10:50
(Received via mailing list)
Hello,

If user --> has_many :address

How can we do a build_address as it expects a has_one relationship?


Thanks,
Avi
Posted by Colin Law (Guest)
on 2012-12-11 10:58
(Received via mailing list)
On 11 December 2012 09:49, Avi <aavinash.behera@gmail.com> 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
Posted by Bala Mani (Guest)
on 2012-12-11 13:27
(Received via mailing list)
Hai!

View this link

      http://guides.rubyonrails.org/association_basics.html


by
bdeveloper01
Posted by Jordon Bedwell (Guest)
on 2012-12-11 15:26
(Received via mailing list)
On Tue, Dec 11, 2012 at 3:49 AM, Avi <aavinash.behera@gmail.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("name@example.com").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.
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.