2014-01-13 146 views
0

我有一個問題:我試圖添加身份驗證到我的第一個軌道應用程序使用(mac os x mavericks): rails 4, mysql(via mysql2寶石), ActiveRecord。在railstutorial引導 以下注意事項,我說: 的Gemfile:Rails 4:不能保存記錄到db

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 

然後我試圖創建和保存新用戶使用導軌控制檯(因爲我還沒有創建視圖和控制器):

user = User.create(lastname: "LastName", firstname: "Name", email: "mail.mail.com", password: "qwerty") 
user.save 

,並有我的控制檯上的錯誤消息:

(0.3ms) BEGIN 
(0.2ms) ROLLBACK 

希望有人能解釋我什麼是錯的,如何,爲什麼我的交易被rollbacked

回答

2

檢查Console user.errors獲得易讀的錯誤,並且您會看到您缺少所需的password_confirmation屬性(使用has_secure_password創建新記錄時必需)

請參閱example in the documentation - 用戶不會在那個例子中,直到確認符合密碼。

+0

哦,是啊!當然,我忘了密碼確認。謝謝! – user1820686