向控制器添加多个字符串查找条件?

时间:2012-01-14 11:59:42

标签: ruby-on-rails-3 activerecord controller conditional-statements

我的一个Rails(3.1)控制器中有以下代码:

@count = Call.where(:destination => current_user.destination_id).count

@count_day = Call.where('created_at > ?', 1.days.ago).count
@count_month = Call.where('created_at > ?', 30.days.ago).count

它们都按预期工作,但我试图以某种方式将它们中的两个合并在一起,因此它显示了在过去1天内创建的调用计数,但仅适用于目标与当前用户destination_id值匹配的调用。

我试图添加:条件,但没有快乐:

@count_day = Call.where(:destination => current_user.destination_id, :condition ['created_at > ?', 1.days.ago]).count

是否可以通过这种方式添加多个条件?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:1)

试试这个:

@count_day = Call.where("destination = :destination AND created_at > :date", { :destination => current_user.destination_id, :date => 1.days.ago}).count

答案 1 :(得分:0)

在哪里创建范围和范围可以链接,所以你可以做

Call.where(:destination =>current_user.id).where("created_at > ?", 1.day.ago).count