【发布时间】:2019-05-30 18:13:26
【问题描述】:
我正在创建一个不使用任何 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
【问题讨论】:
-
“建议使用
method: :delete,但这需要使用 JavaScript”——根本没有。使用纯 HTML<form action="..." method="delete">。
标签: javascript ruby-on-rails ruby