Rails 4.2.1:ArgumentError:您需要提供至少一个验证

时间:2015-09-06 17:18:10

标签: ruby-on-rails postgresql validation ruby-on-rails-4

我在一个全新的Rails应用程序上使用Rails 4.2.1。 尝试从控制台创建新用户时,我不断收到此错误: ArgumentError:您需要提供至少一次验证

我一直在谷歌上搜索几个小时,但我一直坚持这个。

这是我从控制台创建新用户的命令:

User.create(:first_name => "John", :last_name => "Doe", :username => "John", :email => "john.doe@gmail.com", :password => "password")

这是我的User型号:

class User < ActiveRecord::Base
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, 
         :validatable, :omniauthable, 
         :omniauth_providers => [:facebook]

  has_many :answers
  has_many :comments
  has_many :polls
  has_many :settings
  has_many :stories
  has_many :story_followers

  validates :username, presence: true
  validates :first_name, presence: true
  validates :last_name, presence: true
  validates :bio, length: { maximum: 300, too_long: "%{count} characters is the maximum allowed" }

  has_attached_file :avatar, :styles => {
                             :large => "500x500#",
                             :medium => "250x250#",
                             :thumb => "100x100#"
                            }, :default_url => "avatarmissing.png"

  validates_attachment_content_type :avatar, :content_type => %w(image/jpeg image/jpg image/png image/gif)
end

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我首先要评论一下你所拥有的验证,以帮助缩小问题范围。错误消息指向无效验证(包括回形针验证)。

此外,您可能需要在属性中指定:password_confirmation。