Rails 3 validate_with抛出ArgumentError:错误的参数数量

时间:2011-05-19 15:03:49

标签: ruby-on-rails ruby validation activerecord

任何人都可以解释为什么这个代码

class MyValidator < ActiveModel::Validator
  def validate
    # nothing here for now
  end
end

class MyModel < ActiveRecord::Base
  validates_with MyValidator
end

抛出此异常(当我尝试创建模型对象时):

ArgumentError: wrong number of arguments (1 for 0)
/data/rubydev/kalpana/gems/activesupport-3.0.3/lib/active_support/callbacks.rb:314:in `validate'
/data/rubydev/kalpana/gems/activesupport-3.0.3/lib/active_support/callbacks.rb:314:in `send'

我使用the tutorial作为这个。它应该工作。

1 个答案:

答案 0 :(得分:0)

您的#validate方法需要接受一个参数(它正在验证的模型)。

http://api.rubyonrails.org/classes/ActiveModel/Validator.html