Example: an owner has many cats.

In your Cat model, add the line:
belongs_to :owner

in your Owner model, add the line:
has_many :cats

You then need to run a migration on your cats table, to add the foreign key
for owners, so Rails can build the associations. From the command line:

rails g migration add_owner_id_to_cats owner_id:integer

This should create a migration file (in the /db folder), with something
like the following in it:

class AddFooToPosts < ActiveRecord::Migration
  def change
    add_column :cats, :owner_id, :integer # ie, table, field name, field
type
  end
end

then, run your migration.

rake db:migrate

Thanks to the convention over configuration approach, rails will
automagically work out that owner_id is a foreign key to the owners table.
from there, you'll be able to access cats through owners, and owners
through cats:

mog.owner # "Steve"
steve.cats.first # "Mog"

That, of course, is just the tip of the iceberg - you can define all kinds
of odd relations, and customise them as much as you want.

JT




On Mon, Feb 10, 2014 at 8:28 PM, Colin Law <[email protected]> wrote:

> On 10 February 2014 16:50, Ken D'Ambrosio <[email protected]>
> wrote:
> > Hey!  I'm decent at Ruby, but pretty darn new to Rails.  Working through
> > some tutorial stuff, and don't fully understand what direction to take.
>  I
> > want to create a one-to-many association; how do I accomplish this?
>
> Work right through a good tutorial such as railstutorial.org (free to
> use online) and all the basics (including associations) will become
> clear.
>
> Colin
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rubyonrails-talk/CAL%3D0gLvN0AVV6G%2BJH_3HY6mKXtT5tgbj2eb%3D%3DMaQfGxG_rM5Lw%40mail.gmail.com
> .
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/CAAb4X%3Dy9O7OFv4pzBQE_7MqAD9KNYSZQ53ZZUXbEz06V3G0S-g%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to