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 wrote:On 10 February 2014 16:50, Ken D'Ambrosio 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 rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
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 rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
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.