与同一模型的轨道关联



假设我有 2 张表:

Users
user_id name
Tags
tagger_id tagged_id

这描述了一种情况,您可以在其中

我正在尝试设置的模型是:

class User < ActiveRecord::Base
    has_many :tags, :foreign_key => "tagger_id"
end
class Tag < ActiveRecord::Base
    belongs_to :tagger, :class => "User"
    belongs_to :tagged, :class => "User"
end

我正在尝试设置它,以便当我这样做时:

user.tags

它返回一个用户对象列表。 使用我当前的设置,它只返回带有 id 而不是对象的实际标签记录。 如何设置它以返回用户对象列表?

我尝试使用:

has_many :tags, :foreign_key => "tagger_id", :source => :tagged

但它没有用。

你正在寻找has_many :through。

class User < ActiveRecord::Base
    has_many :tags, :foreign_key => "tagger_id"
    has_many :tagged, :through => :tags
end

然后user.tagged应该给你你想要的用户列表。

相关内容

  • 没有找到相关文章

最新更新