Ruby on rails 访问模型的关联

Ruby on rails 访问模型的关联,ruby-on-rails,ruby,Ruby On Rails,Ruby,假设你有这样的案子 class Artist < ActiveRecord::Base has_many :albums belongs_to :record_label def albums return 5 end end class-Artist

假设你有这样的案子

class Artist < ActiveRecord::Base
  has_many :albums
  belongs_to :record_label

  def albums
    return 5
  end
end
class-Artist
是否可以在不使用艺术家相册的情况下访问相册关系,因为它已被覆盖


这可能发生在混合或其他随机情况下,这对测试非常有用。那么你可以说艺术家的专辑实际上是与专辑的关系。我可以问一下吗?为什么你需要覆盖专辑?这样做的缺点是违反了最不出人意料的原则——每个人都希望
#albums
只归还艺术家的专辑

否则,我只需通过
Album.where(artist\u id:artist.id)
使用并检索其范围即可访问它们:

a = Artist.first
a.association(:albums).scoped

请注意,
关联
没有记录,它返回的对象也没有记录(),这意味着也没有记录。

用上面的编辑回答,where仅在关系为双向的情况下起作用假设RecordLabel不了解艺术家,那么where将不起作用