rails activerecord polymorphic has_many to has_many从表中获取值

时间:2014-07-22 13:54:10

标签: ruby-on-rails activerecord has-many-through has-many

我的模特关系如下:

Firm:
has_many :taggings, as: taggable
has_many :articles, through: taggings

Person:
belongs_to :firm
has_many :taggings, as: taggable
has_many :articles, through: taggings

Tagging:
belongs_to :article
belongs_to :taggable, polymorphic: true

Article:
has_many :taggings
has_many :persons, through: :taggings, source: :taggable, source_type: 'Person'
has_many :firms, through: :taggings, source: :taggable, source_type: 'Firm'

一个人属于公司。公司或个人充当文章的标签,每篇文章都有许多公司,每个公司/人都有很多文章。 基本上一切正常,但我有一个问题从标记表访问一个值。 Tagging表有一个Field用户,用于存储添加了这个标记的人。

我当然可以通过

获得每篇文章/公司的价值
Tagging.find_by(article_id: article.id, tagging_id: firm.id, tagging_type: 'Firm')

然后创建一个新数组,以便在我的视图中显示数据,但这看起来很难看。有没有人知道用“访问表”来访问“直通表”中的数据?

0 个答案:

没有答案