vjn*_*369 1 model-view-controller model ruby-on-rails
在我的应用程序中,当我尝试创建一个用户时
User.create(email:"jnan@gmail.com",encrypted_password: "foobar",name:"jnan")
Run Code Online (Sandbox Code Playgroud)
表明
(0.1ms) begin transaction
User Exists (0.2ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = 'jnan@gmail.com' LIMIT 1
(0.1ms) rollback transaction
=> #<User id: nil, email: "jnan@gmail.com", encrypted_password: "foobar", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 0, current_sign_in_at: nil, last_sign_in_at: nil, current_sign_in_ip: nil, last_sign_in_ip: nil, created_at: nil, updated_at: nil, name: "jnan">
Run Code Online (Sandbox Code Playgroud)
我的用户包含
=> User(id: integer, email: string, encrypted_password: string, reset_password_token: string, reset_password_sent_at: datetime, remember_created_at: datetime, sign_in_count: integer, current_sign_in_at: datetime, last_sign_in_at: datetime, current_sign_in_ip: string, last_sign_in_ip: string, created_at: datetime, updated_at: datetime, name: string)
Run Code Online (Sandbox Code Playgroud)
而不是设置encrypted_password,你应该设置password和password_confirmation:
password = 'foobar'
User.create(email:'jnan@gmail.com',password: password, password_confirmation: password, name: 'jnan')
Run Code Online (Sandbox Code Playgroud)