小编gsk*_*sky的帖子

(Rails):NoMethodError:BCrypt :: Engine:Class的未定义方法成本

当我学习"Ruby on Rails Tutorial"时,我想在控制台上创建一个User:

irb(main):001:0> User.create(name:"gsky",email:"k@q.com",
irb(main):002:1* password:"aaaaaa",password_confirmation:"aaaaaa")
Run Code Online (Sandbox Code Playgroud)

然后,我收到以下错误消息:

NoMethodError: undefined method cost' for BCrypt::Engine:Class
from D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activemodel-4.
0.2/lib/active_model/secure_password.rb:104:inpassword='
from D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-4
.0.2/lib/active_record/attribute_assignment.rb:42:in public_send'
Run Code Online (Sandbox Code Playgroud)

这是用户模型:

class User < ActiveRecord::Base

  before_save { self.email = email.downcase }

  validates :name,  presence: true, length: { maximum: 50 }

  VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i

  validates :email, presence: true,
                    format: { with: VALID_EMAIL_REGEX },
                    uniqueness: { case_sensitive: false }

   has_secure_password

   validates :password, length: { minimum: 6 }

end
Run Code Online (Sandbox Code Playgroud)

bcrypt-ruby ruby-on-rails-4

12
推荐指数
3
解决办法
6137
查看次数

标签 统计

bcrypt-ruby ×1

ruby-on-rails-4 ×1