我有一个Users
模型,希望用户在发布内容时能够Subscribe
向另一个模型User
发送通知。
这是一种 has_many 自连接和 many_to_many 自连接。
我需要能够输入@user.subscribers
和@user.subscriptions
。
因此,从某种意义上说,默认情况下,这种关系是双向的。但是,如果to @user1
subscribes
,那@user2
并不意味着可以通过找到。@user2
subscribed
@user1
@user2
@user1
@user.subscribers
我看过 Ryan Bates Railscast on Self-Referential Associations。但是,这会创建 1 种方式的自联接。但我认为这并没有留下双方之间可能存在两种关系的事实。
但是,我也看过有关关联外键的 Rails 指南。
我意识到我可能可以采用 Ryan Bates 的方式,并建立两个关系,但这似乎是错误的,但我担心第二种方式不会允许一个成为订阅者,一个成为提供者。解决此问题的最“正确”方法是什么?