my item.rb
# encoding: utf-8
class Item < ActiveRecord::Base
attr_accessible :asin, :domain, :formatted_price, :user_id
validate :double_dates
private
def double_dates
if Item.where(:user_id => self.user_id, :asin => self.asin, :domain => self.domain).where("DATE(created_at) = ?", Date.today).length == 1
errors.add(:created_at, "no double dates")
end
end
end
错误讯息:
from script/rails:6:in `<main>'irb(main):028:0> Item.new
NoMethodError: undefined method ` validate' for #<Class:0x007fb054ce7690>
from .rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.2.13/lib/active_record/dynamic_matchers.rb:55:in `method_missing'
...
答案 0 :(得分:3)
既然回答了,就发一个真正的答案:
`validate'看起来很奇怪,必须删除v之前的特殊字符。