我正在关注的教程有以下代码,它提到的代码不太正确,因为错误闪存持续一个请求的时间比预期的要长,因为render
不算作请求。解决方案是flash.now
改用。
但是错误闪现怎么可能持续一个额外的请求呢?鉴于 Rails 是无状态的,如何为下一个请求存储闪存的信息?
class SessionsController < ApplicationController
def new
end
def create
user = User.find_by_email(params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
# Sign the user in and redirect to the user's show page.
else
flash[:error] = 'Invalid email/password combination' # Not quite right!
render 'new'
end
end
def destroy
end
end