我有一个表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
是什么原因导致错误,或者如何实现?
答案 0 :(得分:0)
让rails为您完成工作:
scope :needs_maintain, -> (day_count) { where('last_mnt > ?', day_count.days.from_now) }
然后叫它:
MntItem.needs_maintain(20)