别名has_many_through

时间:2016-02-09 03:22:11

标签: ruby-on-rails activerecord

说你跟踪说唱艺术家。我想获得Weezy所贡献的所有专辑的列表,因此我使用has_many_through获取albumssongs,这非常有用!除了它会覆盖has_many :albums只有 Weezy自己的专辑。

class Person < ActiveRecord::Base

  has_many :albums, as: :featured_albums, through: :songs
  has_many :albums

理想情况下,我想为:featured_albums创建一个名称。不幸的是,上述情况并不奏效。

1 个答案:

答案 0 :(得分:1)

class Song
  has_many :albums
  ...
end

class Person
  has_many :songs
  has_many :featured_albums, through: :songs, source: :albums
  has_many :albums
  ...
end

我相信:as用于指定它位于多态关系的“poly”端。