Rails多态关联自引用关联

时间:2013-09-18 16:46:31

标签: ruby-on-rails activerecord polymorphic-associations self-reference

我正在尝试实现多态关联+自引用关联。

用例是:

我有两个型号

registered_user => registered users.
unregistered_friend => friends of registered users who have not registered.

我有一张桌子

share (registered_user_id sharee_id sharee_type)

时存储数据

registered_usersharee

分享内容

其中sharee可以是registered_userunregistered_friend

所以基本上什么是正确的方法。

registered_user.rb应该具有类似

的内容
has_many :share
has_many :share, :as => :sharee

谢谢!

1 个答案:

答案 0 :(得分:2)

需要为registered_usersshare的关联指定不同的名称。

一个名为shares

has_many :shares,  :as => "sharee"

一个名为sharers或选择合适的名称

has_many :sharers, :foreign_key => "registered_user_id", :class_name => "Share"