Skip to content

Instantly share code, notes, and snippets.

@denysonique
Created February 9, 2012 11:35
Show Gist options
  • Save denysonique/1779437 to your computer and use it in GitHub Desktop.
Save denysonique/1779437 to your computer and use it in GitHub Desktop.
has_and_belongs_to_many :followers,
class_name: 'User',
foreign_key: 'follower_id',
join_table: 'followers_followees'
has_and_belongs_to_many :followees,
class_name: 'User',
foreign_key: 'followee_id',
join_table: 'followers_followees'
error:
User.first.followees
Skater Load (0.3ms) SELECT "users".* FROM "users" LIMIT 1
Skater Load (0.3ms) SELECT "users".* FROM "users" INNER JOIN "followers_followees" ON "users"."id" = "followers_followees"."user_id" WHERE "followers_followees"."followee_id" = 1
SQLite3::SQLException: no such column: followers_followees.user_id: SELECT "user".* FROM "users" INNER JOIN "followers_followees" ON "users"."id" = "followers_followees"."user_id" WHERE "followers_followees"."followee_id" = 1
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: followers_followees.user_id: SELECT "users".* FROM "users" INNER JOIN "followers_followees" ON "users"."id" = "followers_followees"."user_id" WHERE "followers_followees"."followee_id" = 1
@sj26
Copy link

sj26 commented Feb 9, 2012

Try:

  has_and_belongs_to_many :followers,
    class_name: 'User',
    foreign_key: 'follower_id',
    association_foreign_key: 'followee_id',
    join_table: 'followers_followees'

  has_and_belongs_to_many :followees,
    class_name: 'User',
    foreign_key: 'followee_id',
    association_foreign_key: 'follower_id',
    join_table: 'followers_followees'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment