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

Pal*_*ini 1 ruby ruby-on-rails models rails-models

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

bundle exec rspec spec/
Run Code Online (Sandbox Code Playgroud)

我认为错误发生在我的"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
Run Code Online (Sandbox Code Playgroud)

在此之前,我做错了一件事:我应该在哪里打字

      uniquiness: { case_sensitive: false }
Run Code Online (Sandbox Code Playgroud)

我键入:

      uniquiness { case_sensitive: false }
Run Code Online (Sandbox Code Playgroud)

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

      bundle exec rake db:migrate
      bundle exec rake db:test:prepare
      bundle exec rspec /spec
Run Code Online (Sandbox Code Playgroud)

以下是我得到的错误:

Rack :: File头参数在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

Jes*_*per 7

它的拼写uniqueness不是uniquiness.