【问题标题】:Ruby on Rails 3 to 4 "Unkown Validator KeyValidator"Ruby on Rails 3 到 4“未知验证器密钥验证器”
【发布时间】:2013-09-30 02:47:41
【问题描述】:

我正在使用 Michael Hartl 的 Learn Rails 3 by Example 视频教程,处于早期阶段,但我遇到了一个小问题,我想知道这是否与我在教程使用时使用 rails 4 有关导轨 3.

在 demo_app 中,我有一个名为“micropost”的模型,如下所示:

class Micropost < ActiveRecord::Base
  belongs_to :user
  validates :content, :key => { :maximum => 140 }
end

为了将条目的最大长度保持为 140。这正是视频教程显示的输入内容,除非我是盲人。

但是现在当我尝试打开 localhost:3000/microposts 时,它会抛出这个错误:

ArgumentError in MicropostsController#index
Unknown validator: 'KeyValidator'

与 rails 控制台相同,如果我尝试键入 user.microposts 会出现相同的错误。

这是在 Rails 4 中更改的内容吗?我有什么不同的做法?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4


    【解决方案1】:

    由于您尝试设置最大长度,您应该使用length

    validates :content, length: { maximum: 140 }
    

    【讨论】:

    • 好吧,看来自从他的教程以来它已经改变了。非常感谢!
    【解决方案2】:

    是的,Dex 是对的:

    为了更好地理解,请转至here

    validates :first_name, :length => { :maximum => 30 }
    

    【讨论】:

      猜你喜欢
      • 2013-02-23
      • 2011-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多