我的项目.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'
...
最佳答案
既然已经回答了,让我们发布一个真实的答案:
` validate' 看起来很奇怪,必须删除 v 之前的特殊字符。
关于ruby-on-rails - 无方法错误 : undefined method ` validate' (custom validate) RAILS 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23261800/