现在我正试图创建单边关注/取消关注关系,用户可以关注/取消关注名人。尽管宝石可用,但我想学习如何从头开始创建。
我在网上找到的帖子似乎只包含一种自我引用的样式,其中模型实例只能跟随其中一种(用户只能跟随其他用户)。作为起点,我已将此post用于初始设置。我不知道如何重新配置模型的关联:
class User < ActiveRecord::Base
end
class Following < ActiveRecord::Base
end
class Celebrity < ActiveRecord::Base
end
答案 0 :(得分:0)
您正在寻找“多对多”的关系。您可以找到有关此关系的更多详细信息here。以您的模型为例,它看起来像这样:
class User < ActiveRecord::Base
has_many :followings, :dependent => :destroy
has_many :celebrities, :through => :following
end
class Following < ActiveRecord::Base
belongs_to :user
belongs_to :celebrity
end
class Celebrity < ActiveRecord::Base
has_many :followings, :dependent => :destroy
has_many :users, :through => :following
end