【发布时间】:2013-01-29 15:01:29
【问题描述】:
我正在使用 rails-api gem 构建一个简单的 JSON API。
models/user.rb:
class User < ActiveRecord::Base
has_secure_password
attr_accessible :email, :password, :password_confirmation
validates :email, presence: true, uniqueness: { case_sensitive: false }, format: { with: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i }
validates :password, presence: { on: :create }, length: { minimum: 6 }
end
当我尝试在没有密码的情况下注册时,这是我得到的 JSON 输出:
{
"errors": {
"password_digest": [
"can't be blank"
],
"password": [
"can't be blank",
"is too short (minimum is 6 characters)"
]
}
}
是否可以隐藏密码摘要的错误消息?我正在控制器中返回带有 respond_with 的 @user 对象。
我尝试了以下但没有运气(它只是重复错误“不能为空白”):
validates :password_digest, presence: false
【问题讨论】:
-
也许可以尝试“验证 :password_digest, :allow_blank => true”
-
谢谢,但它不起作用。它说我必须至少指定一个验证规则。
-
验证:密码,存在:{ on: :create },长度:{ minimum: 6, allow_blank: true }
-
@Jean-Paul:它不会隐藏 password_digest 的验证消息。
标签: ruby-on-rails json validation rails-api