相关疑难解决方法(0)

创建新用户时ActiveModel :: ForbiddenAttributesError

我在Ruby中有这个模型,但它抛出了一个 ActiveModel::ForbiddenAttributesError

class User < ActiveRecord::Base
  attr_accessor :password
  validates :username, :presence => true, :uniqueness => true, :length => {:in => 3..20}
  VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
  validates :email, presence: true, :uniqueness => true, format: { with: VALID_EMAIL_REGEX }

  validates :password, :confirmation => true
  validates_length_of :password, :in => 6..20, :on => :create

  before_save :encrypt_password
  after_save :clear_password

  def encrypt_password
    if password.present?
      self.salt = BCrypt::Engine.generate_salt
      self.encrypted_password= BCrypt::Engine.hash_secret(password, salt)
    end
  end

  def clear_password
    self.password = nil
  end
end
Run Code Online (Sandbox Code Playgroud)

当我运行这个动作

  def create
    @user = User.new(params[:user])
    if @user.save …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rails-activerecord

219
推荐指数
5
解决办法
19万
查看次数

标签 统计

rails-activerecord ×1

ruby-on-rails ×1