【问题标题】:How to solve: validates.rb:96:in `rescue in block in validates': Unknown validator (...)如何解决:validates.rb:96:in `rescue in block in validates': Unknown validator (...)
【发布时间】:2013-03-02 19:51:52
【问题描述】:

我开始学习 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': Unknown validator: 'UniqunessValidator' (ArgumentError ) (...)

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

【问题讨论】:

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


    【解决方案1】:

    拼写为uniqueness 而不是uniquiness

    【讨论】:

    • 好的,谢谢,我觉得我糟糕的英语现在对我没有帮助:P
    • 很高兴为您提供帮助!如果您认为我的回答回答了您的问题,请花点时间将其标记为已接受。
    • Stackoverflow 已损坏。纠正错字比解决实际问题得到更多的支持:(
    猜你喜欢
    • 2022-12-19
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 2019-03-07
    • 1970-01-01
    相关资源
    最近更新 更多