2014-09-24 50 views
0

在Rails控制檯:的Rails 4.1獲得回退,同時創造一個用戶

user = HotelUser.create(:email=>'[email protected]') 
(0.0ms) BEGIN 
(0.0ms) ROLLBACK 
=> #<HotelUser id: nil, userName: nil, email: "[email protected]", address1: nil, address2: nil, created_at: nil, updated_at: nil, password_digest: nil>` 

我在rails.I新希望打造軌道console.But我每次m到處Rollback.Why發生這種情況時用戶。

+0

您的用戶可能未通過驗證。檢查提示的模型,或者用'user.errors?'在控制檯中檢查它。我猜你至少需要一個用戶名和密碼摘要才能保存。 – Rog 2014-09-24 06:28:33

+0

現在我得到了:user = HotelUser.create(:email =>'[email protected]',:password =>'ram') ←[1m←[36m(0.0ms)←[0m←[1mBEGIN←[ 0m ←[1m←[35mSQL(1.0ms)←[0m插入'hotel_users'('created_at','email','password_digest','updated_at')VALUES('2014-09-24 06:37: 45','[email protected]','$ 2a $ 10 $ FroE5fx.NTKkImi9QqOnf.j5KDwjknyZBaJTS3N2fGn2nsyC1IaIW','2014-09-24 06:37:45') – John 2014-09-24 06:41:37

+0

這意味着你的用戶已被創建。 – Rog 2014-09-24 06:42:26

回答

0

您可以檢查這些代碼錯誤在Rails的控制檯,看看你的用戶模型來解決它

=> user = HotelUser.create(email: '[email protected]') 
=> user.errors 
+0

我已經創建了一個用戶但無法登錄。開始POST「/ orders/loginUser」爲127.0.0.1於2014-09-24 12:42:08 +0530 通過OrdersController#loginUser處理爲HTML 參數:{「 utf8「=>」√「,」authenticity_token「=>」d + sdUp2PDIhKuS5uj0DLjlqnQrni0YBac4CLe8 + 1XPI =「,」email「=>」[email protected]「,」passw ord「=>」[FILTERED]「, 「=>」登錄「} 重定向到http:// localhost:3000/orders/placeOrder 已完成302在2ms內找到(ActiveRecord:0.0ms) – John 2014-09-24 07:13:24

1

一個快速和骯髒的檢查方法是用創造!

例如:(!)

pry(main)> User.create(:fname => "Bob") 
    (0.1ms) begin transaction 
    (0.1ms) rollback transaction 
=> #<User id: nil, email: nil, encrypted_password: nil, fname: "Bob", lname: nil> 

pry(main)> User.create!(:fname => "Bob") 
    (0.1ms) begin transaction 
    (0.1ms) rollback transaction 
ActiveRecord::RecordInvalid: Validation failed: Email can't be blank, Password can't be blank 

的爆炸和非爆炸之間的區別是,創建!會引發一個例外。

0

試試這個: T = HotelUser.new 然後鍵入: t.email = 「[email protected]」 最後一個命令, t.save

希望這能解決你的問題。 與.create的問題是,你沒有通過其他參數像創建日期和更新日期和所有。

相關問題