Ruby on rails Rails 3参数错误:未知键:开始日期

Ruby on rails Rails 3参数错误:未知键:开始日期,ruby-on-rails,ruby,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby,Ruby On Rails 3,Activerecord,我有一个拥有许多会员资格的豁免对象。我想弄清楚豁免是否有某一季度的会员资格: def has_current_membership? memberships.count("begin_date >= :begin_date AND end_date <= :end_date", { :begin_date => Time.now.beginning_of_quarter, :end_date => Time.now.end_of_quarter }).count &g

我有一个拥有许多会员资格的
豁免
对象。我想弄清楚豁免是否有某一季度的会员资格:

def has_current_membership?
  memberships.count("begin_date >= :begin_date AND end_date <= :end_date", { :begin_date => Time.now.beginning_of_quarter, :end_date => Time.now.end_of_quarter }).count > 0
end

我做错了什么?

您应该使用
.where
作为查找条件,而不是
。计数两次:

memberships.where("begin_date >= :begin_date AND end_date <= :end_date", { :begin_date => Time.now.beginning_of_quarter, :end_date => Time.now.end_of_quarter }).count > 0
会员资格。其中(“开始日期>=:开始日期和结束日期
memberships.where("begin_date >= :begin_date AND end_date <= :end_date", { :begin_date => Time.now.beginning_of_quarter, :end_date => Time.now.end_of_quarter }).count > 0