模型验证无法在rails 4中运行

tin*_*tin 0 ruby ruby-on-rails ruby-on-rails-4

我不知道为什么,但我遇到了一个简单的问题.我有一个简单的用户模型,我已经对其中一个字段进行了简单的验证,即存在的用户名及其长度.

以下是代码:

user.rb

class User < ActiveRecord::Base
  validates :username, presence: true, length: { minumum: 3, maximum: 25 }
end
Run Code Online (Sandbox Code Playgroud)

因此,

user = User.new(username: 'hi')
user.save
Run Code Online (Sandbox Code Playgroud)

必须以用户名的长度失败(即根据给定的验证而言太短).但在我的情况下,它保存没有任何错误.目前,只有当用户名为空时才会出错,但不会给出最小长度的错误.注意:我已经重装了!我的rails控制台

jmk*_*oni 5

你拼错了最小:)尝试这个:

class User < ActiveRecord::Base
  validates :username, presence: true, length: { minimum: 3, maximum: 25 }
end
Run Code Online (Sandbox Code Playgroud)

另外,回答:下面的答案,这直接来自RailsGuides for Active Record Validations:

class Essay < ActiveRecord::Base
  validates :content, length: {
    minimum: 300,
    maximum: 400,
    tokenizer: lambda { |str| str.split(/\s+/) },
    too_short: "must have at least %{count} words",
    too_long: "must have at most %{count} words"
  }
end
Run Code Online (Sandbox Code Playgroud)