包装ActiveRecord访问器的推荐方式是什么?继承ActiveRecord访问器
鉴于类似
class Post < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :post
end
我希望能够使它的是,例如,@post.comments
回报随机排序的意见。
当然,我可以创建另一种方法,如random_comments
,但我想知道是否有一个较少的错误倾向方式(我不想记得调用random_comments
方法)。
调用super
不起作用,因为comments
方法是在Post
类中反射性地创建的,而不是继承的。
那么你会怎么做呢?
要小心,因为你不是在谈论simpy重写属性,这很容易通过'read_attribute',而是关联。这可能是一个坏主意,因为你会扔掉所有的关联代理方法('comment#create','comments#clear'等等)。你可能会考虑使用范围或关联扩展来实现这个,导致'comments.randomized'或类似的东西。 – numbers1311407