我试图在我的应用程序中表示用户之间的关系,用户可以拥有许多关注者,并可以跟随其他用户.
我想要像user.followers()和user.followed_by()
可以请你详细告诉我如何用ActiveRecord来代表这个?
我想要像user.followers()和user.followed_by()
可以请你详细告诉我如何用ActiveRecord来代表这个?
谢谢.
解决方法
你需要两个模型,一个人和一个追随者
rails generate model Person name:string rails generate model Followings person_id:integer follower_id:integer blocked:boolean
和模型中的以下代码
class Person < ActiveRecord::Base has_many :followers,:class_name => 'Followings',:foreign_key => 'person_id' has_many :following,:foreign_key => 'follower_id' end
并在您撰写的“跟随”类中对应
class Followings < ActiveRecord::Base belongs_to :person belongs_to :follower,:class_name => 'Person' end
你可以让你的名字更清楚(我特别不喜欢跟随名字),但这应该让你开始.