I agree, I was trying to figure out how to do exactly the same thing! Great explanation.
On Aug 28, 11:23 pm, "Craig Demyanovich" <[EMAIL PROTECTED]> wrote: > I'll start w/ the User class. > > class User < ActiveRecord::Base > has_and_belongs_to_many :friends, > :class_name => "User", # [1] > :join_table => "users_friends", # [2] > :foreign_key => "user_id", # [3] > :association_foreign_key => "friend_id" # [4] > end > > [1] Specify the class name since it differs from the association name. > [2] Specify the join table since you'll name it something other than > users_users, which is what Rails would assume. > [3] Specify the foreign key back to this user; not necessary as Rails will > assume it in this case, but I thought I'd show it. > [4] Specify the foreign key that will hold the ids of this user's friends. > > Here's the migration to create the join table. > > class ... < ActiveRecord::Migration > def self.up > create_table :users_friends, :id => false, :force => true do |t| > t.integer :user_id, > t.integer :friend_id > end > end > > def self.down > drop_table :users_friends > end > end > > As you can see, it's just a simple join table for tracking the relationship > from user to user (friend). > > I'm sure you'll want to tweak the User class and migration a bit, but I hope > you get the idea. > > Regards, > Craig --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

