我在不使用任何 Javascript 的情况下创建 Rails 应用程序,我想知道如何实现注销按钮以将会话设置为“nil”。大多数教程建议使用“method::delete”,但这需要使用 JavaScript。
会话控制器:
class SessionsController < ApplicationController
def new
end
def create
user = User.find_by_username(params[:session][:name])
if user && user.authenticate(params[:session][:password])
session[:user_id] = user.id
redirect_to '/posts'
else
session[:user_id] = nil
flash[:warning] = "Failed login- try again"
redirect_to '/login'
end
end
def destroy
session[:session_id] = nil
redirect_to login_path
end
end