Ruby on rails 如何在rails中设置自引用多态关系?
我有三个模型Ruby on rails 如何在rails中设置自引用多态关系?,ruby-on-rails,ruby-on-rails-3,polymorphism,Ruby On Rails,Ruby On Rails 3,Polymorphism,我有三个模型 用户 Journal Post 关于这些,我们可以假设一些事情 用户拥有多个:日志 Journal有很多帖子 我希望用户能够订阅我网站上的其他用户和特定期刊 我想我需要一个类似这样的多态订阅模型 class CreateSubscriptions < ActiveRecord::Migration def change create_table :subscriptions do |t| t.integer :user_id t.r
用户
Journal
Post
用户拥有多个:日志
Journal有很多帖子
订阅模型
class CreateSubscriptions < ActiveRecord::Migration
def change
create_table :subscriptions do |t|
t.integer :user_id
t.references :subscribable, :polymorphic=>true
t.timestamps
end
end
end
class CreateSubscriptionstrue
t、 时间戳
结束
结束
结束
但我被困在这里了。我不知道如何在我的User
模型中设置多态关系
我希望能够得到以下东西:
@user.wasted_用户
@user.wasted_日志
@user.followers
@journal.followers
有人能帮忙吗?文档在这方面有点稀疏,我知道这些可能是一个真正的家务设置
^_^虽然我理解用户只想订阅任意对象的愿望,但实际上,您最终会以不同的方式处理这些不同的订阅,所以至少现在(直到您发现自己想要订阅站点上的其他对象),只需将它们分开(YAGNI)
可以通过每个关系的简单联接表来实现这一点。关于的答案引出了中的一个很好的例子,rails指南非常清楚如何做到这一点,请注意,它只解释了部分问题,没有提到多态和自引用(自连接)的关系。