【发布时间】:2014-02-18 21:52:58
【问题描述】:
我有一个用户和一个付款模型。用户有许多付款,而付款有一个用户。为了确定用户是否有有效的付款,我使用这个:
用户.rb
def payment_active?
payments.where("? >= made_at and ? <= valid_until", DateTime.now, DateTime.now).any?
end
我想定义一个范围,返回活跃付款的用户,我想出了这个:
用户.rb
def self.active_users
User.all.select {|u| u.payment_active?}
end
编写这样一个作用域的合适、更有效的方法是什么?
【问题讨论】:
标签: ruby-on-rails