我遇到了一个问题:我正在尝试使用(mac os x mavericks)为我的第一个rails应用添加身份验证: 铁轨4, mysql(通过mysql2 gem), ActiveRecord的。 关于railstutorial指南的注释,我添加了: 的Gemfile:
gem 'bcrypt-ruby', '~> 3.1.2'
用户模型:
class User < ActiveRecord::Base
has_secure_password
attr_accessible :lastname, :firstname, :email, :password
end
创建用户迁移:
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :lastname
t.string :firstname
t.string :email
t.string :password_digest
end
end
end
然后我尝试使用rails console创建并保存新用户(因为我还没有创建视图和控制器):
user = User.create(lastname: "LastName", firstname: "Name", email: "mail.mail.com", password: "qwerty")
user.save
我的控制台上有一条错误消息:
(0.3ms) BEGIN
(0.2ms) ROLLBACK
希望有人可以解释我的错误以及如何获得可读的错误,为什么我的交易被回滚
答案 0 :(得分:3)
在控制台中检查user.errors
,您会发现自己缺少必需的password_confirmation
属性(使用has_secure_password
创建新记录时必需)
请参阅example in the documentation - 在确认与密码匹配之前,用户不会保存该示例。