【发布时间】:2011-01-19 01:36:09
【问题描述】:
我想知道是否可以执行以下操作:
假设我有一个 Rails 模型Foo,它的数据库属性为value。 Foo belongs_to Bar, Bar has_many Foos。
在我的模型中,我想做这样的事情:
class Foo < ActiveRecord::Base
belongs_to :bar
def self.average
# return the value of all foos here
end
end
理想情况下,我希望这个方法返回一个与调用它的范围相匹配的值,这样:
Foo.average # would return the average value of all foos
@bar = Bar.find(1)
@bar.foos.average # would return the average of all foos where bar_id == 1
这样的事情可以做到吗,如果可以,怎么做?谢谢!
【问题讨论】:
标签: ruby-on-rails class ruby-on-rails-3 methods model