Ruby on Rails逻辑处于活动记录状态

时间:2011-06-20 02:27:44

标签: ruby-on-rails

我正在建立一个网站,供用户发布他们希望出售门票的活动。

我正在编写一个查询条件如下:

  • active equals true
  • sales_stop是< Time.now

我遇到的问题是提出一个测试记录的sales_stop时间是否小于Time.now的条件。

以下是我现在的情况:

@events = Event.paginate :page => params[:page],
      :conditions => {:active => true},
      :order => "created_at DESC"

反过来,我一直在玩弄sales_stop条件而没有运气。

我一直在尝试这样的事情:

@events = Event.paginate :page => params[:page],
      :conditions => {:active => true, :sales_stop < Time.now},
      :order => "created_at DESC"

这当然行不通。

有谁知道如何设置此查询,以便我只检索sales_stop属性小于Time.now的记录?

谢谢。

2 个答案:

答案 0 :(得分:1)

使用替代语法:conditions,它使用bind-style:

@events = Event.paginate :page => params[:page],
      :conditions => ['active = ? AND sales_stop < ?', true, Time.now],
      :order => "created_at DESC"

答案 1 :(得分:1)

这应该有效:

@events = Event.paginate :page => params[:page],
  :conditions => ['active=? AND sales_stop < ?', true, Time.now],
  :order => "created_at DESC"

只是一种不同的语法。