Ruby on rails Can';t使用has\u secure\u密码方法登录
我正在创建简单的自己的身份验证系统,并帮助自己使用Railscasts。但我不能处理任何问题 我有一个会话控制器Ruby on rails Can';t使用has\u secure\u密码方法登录,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我正在创建简单的自己的身份验证系统,并帮助自己使用Railscasts。但我不能处理任何问题 我有一个会话控制器 def create user = User.find_by_username(params[:email]) if user && user.authenticate(params[:password]) session[:user_id] = user.id redirect_to root_path, notice:
def create
user = User.find_by_username(params[:email])
if user && user.authenticate(params[:password])
session[:user_id] = user.id
redirect_to root_path, notice: "Logged in."
else
flash.now.alert = "Email or password is invalid."
render 'new'
end
end
浏览器会一直返回“会话新”页面。
注册时记录:
Started POST "/users" for 127.0.0.1 at 2014-10-05 21:03:38 +0200
Processing by UsersController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"NL7mPvVyPMUyQO/WizmXS3O7q4yrUGtyri5rckOlKAo=", "user"=>{"username"=>"john2", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Create User"}
(0.1ms) begin transaction
User Exists (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."username" = 'john2' LIMIT 1
Binary data inserted for `string` type on column `password_digest`
SQL (0.2ms) INSERT INTO "users" ("created_at", "password_digest", "updated_at", "username") VALUES (?, ?, ?, ?) [["created_at", "2014-10-05 19:03:38.346127"], ["password_digest", "$2a$10$4negYTKUz7vWJV0Af3Ja8u86za/l7k/LANKCVmHKz8zxn4JRjgTgu"], ["updated_at", "2014-10-05 19:03:38.346127"], ["username", "john2"]]
(186.9ms) commit transaction
Redirected to http://localhost:3000/
Completed 302 Found in 281ms (ActiveRecord: 187.3ms)
并在尝试登录时登录:
Started POST "/sessions" for 127.0.0.1 at 2014-10-05 21:08:03 +0200
Processing by SessionsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"NL7mPvVyPMUyQO/WizmXS3O7q4yrUGtyri5rckOlKAo=", "username"=>["john2"], "password"=>"[FILTERED]", "commit"=>"Log in"}
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."username" IS NULL LIMIT 1
Rendered sessions/new.html.erb within layouts/application (1.1ms)
Completed 200 OK in 61ms (Views: 59.2ms | ActiveRecord: 0.2ms)
我使用
has\u secure\u password
方法。has\u secure\u password是否需要密码确认以匹配给定密码才能有效?我的意思是登录而不是注册。注册没问题。身份验证方法只需要一个参数