如何在条件中格式化日期

时间:2013-07-13 00:13:57

标签: ruby-on-rails

我有一个表Mnt_Items,用于存储last_mnt中最后一次维护的日期。此外,该表还存储mnt_frequence中维护之间的天数。 我想创建一个视图,显示需要维护的所有项目,但我收到错误:

SQLite3::SQLException: near "23": syntax error: SELECT "mnt_items".* FROM "mnt_items" WHERE (last_mnt > 2013-06-22 23:58:41 UTC) 

我的模型和控制器如下:

class MntItem < ActiveRecord::Base
  named_scope :needs_maintain, :conditions => "last_mnt > "  + -20.days.from_now.to_s
end

class MntItemsController < ApplicationController
  def index
  @mnt_items = MntItem.needs_maintain

  respond_to do |format|
    format.html # index.html.erb
    format.xml  { render :xml => @mnt_items }
  end
end

是什么原因导致错误,或者如何实现?

1 个答案:

答案 0 :(得分:0)

让rails为您完成工作:

scope :needs_maintain, -> (day_count) { where('last_mnt > ?', day_count.days.from_now) }

然后叫它:

MntItem.needs_maintain(20)