2012-07-14 119 views
0

协会假设你有一个像这样访问模型

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

    def albums 
    return 5 
    end 
end 

的情况下,是否有可能访问该相册的关系,而无需使用艺术家#专辑,因为它已被重写?

这可能发生在mixin或其他随机情况下,它对测试最有帮助。然后,你可以说艺术家#专辑其实是专辑

回答

0

请问有关系 - 你为什么需要重写#albums?这有违反最小惊喜原则的缺点 - 每个人都希望#albums只是为了返回艺术家的专辑。

,否则我会被Album.where(artist_id: artist.id)简单地访问它们。

+0

回答了上面的编辑和哪里只适用于关系是双向的情况下假设RecordLabel没有任何艺术家的知识然后哪里不工作 – austinbv 2012-07-14 20:10:32