如何解决:validates.rb:96:在`在块中验证验证':未知的验证器(...)

时间:2013-03-02 19:51:53

标签: ruby-on-rails ruby models rails-models

我开始学习Rails,我不能继续前进,因为我在尝试运行时遇到错误:

bundle exec rspec spec/

我认为错误发生在我的“models / users.rb”文件中:

class User < ActiveRecord::Base
  attr_accessible :email, :name

  before_save { |user| user.email = email.downcase }

  validates :name, presence: true, length: { maximum: 50}
  VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
  validates :email, presence: true, format: {with: VALID_EMAIL_REGEX }, 
                                uniquiness: {  case_sensitive: false }
end

在此之前,我做错了:我应该输入

      uniquiness: { case_sensitive: false }

我打字:

      uniquiness { case_sensitive: false }

而且,在我看到此错误之前,我在项目中进行了一些更改(创建了迁移,运行本地服务器等)。我记得我执行过这些命令:

      bundle exec rake db:migrate
      bundle exec rake db:test:prepare
      bundle exec rspec /spec

以下是我得到的错误:

  

Rack :: File headers参数在Rack 1.5之后替换cache_control。   /usr/lib/ruby/gems/1.9.1/gems/activemodel-3.2.12/lib/active_model/validations/validates.rb:96:in在块中的救援'在验证中':未知验证器:'UniquinessValidator'(ArgumentError )     (...)

有人可以帮帮我吗?谢谢大家:P

1 个答案:

答案 0 :(得分:7)

拼写为uniqueness而不是uniquiness