1

我开始学习 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 `rescue in block in validates':未知验证器:'UniqunessValidator'(ArgumentError ) (...)

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

4

1 回答 1

7

它的拼写uniqueness不是uniquiness

于 2013-03-02T19:55:31.863 回答