# 重定向到存储的地址或默认地址
def redirect_back_or(default)
redirect_to(session[:forwarding_url] || default)
session.delete(:forwarding_url)
end
# 存储以后需要的地址
def store_location
session[:forwarding_url] = request.url if request.get?
end
#判断是否登录,否,则存储需要的地址
def signed_in_user
unless signed_in?
store_location
redirect_to signin_url, notice: "请登录."
end
end
def create#session.create
user = User.find_by(email: params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
# 登录成功,跳转到存储地址或默认地址
sign_in user
redirect_back_or root_path
else# 登录失败返回登录界面,提示错误信息
redirect_to signin_url, notice: "用户名或密码不对."
end
end