范围内的多个条件轨道4

时间:2013-12-13 10:10:59

标签: ruby-on-rails ruby scope ruby-on-rails-4

我正在尝试编写一个范围,它将从两个模型中获取数据,之前没有这样做过,所以看看是否有人可以帮助我理论和实践。

我的两个模型定义如此

class Member < ActiveRecord::Base
belongs_to :membership
accepts_nested_attributes_for :membership

attr_accessible :membership_id, :forename, :middlename, :surname, :house_no, :house_name, :street, :town, :postcode, :home_tel, :mobile_tel, :work_tel, :email, :start_date, :expiry_date
end

class Membership < ActiveRecord::Base
has_many :members, :dependent => :destroy
attr_accessible :membership_type, :cost 
end

我想让今天加入的所有成员按照已生成的总金额核算总金额

那么我可以在范围内执行求和,还是必须编写一个获取总数然后在范围内使用该方法的方法?

class Member < ActiveRecord::Base

scope :new_memberships_cash_today, ->() {
where(:start_date => Date.today)
}

end

据我所知,到目前为止,我知道的不正确。真的不知道如何构建其余部分,任何帮助表示赞赏

1 个答案:

答案 0 :(得分:2)

我认为类似的东西就足够了:

joins(:memberships).where(:start_date => Date.today).sum('memberships.cost')