Has_many :through


#1

Has anyone had much experience using the new has_many :though options
that are currently in Edge Rails? I’m looking at using it in my
project but haven’t found much about it.

Kyle


#2

Kyle,

The :through option is the new support for join models. This allows you
to do:

class Person < ActiveRecord::Base
has_many :memberships
has_many :organizations, :through => :memberships
end

class Membership < ActiveRecord::Base
belongs_to :person
belongs_to :organization
end

class Organization < ActiveRecord::Base
has_many :memberships
has_many :members, :class_name => ‘Person’, :through => :memberships
end

now you can do:
p = Person.find(:first)
p.organizations

or the opposite:
o = Organization.find(:first)
o.members

Also check out Rick O.'s tip:
http://rails.techno-weenie.net/tip/2005/12/23/teaching_your_blog_model_new_tricks_with_has_many_through

Cody

On 1/19/06, Kyle M. removed_email_address@domain.invalid wrote:


http://www.codyfauser.com


#3

Thanks for the great response, that’s just what I was looking for.

  • Kyle