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