Ruby on rails RubyonRails-会话
我将遵循本教程: 我的会话有问题。每次我登录到我的应用程序,我没有得到会话,但会被重定向到我的用户页面。创建/注册用户也很有效 会话\u helper.rbRuby on rails RubyonRails-会话,ruby-on-rails,ruby,session,Ruby On Rails,Ruby,Session,我将遵循本教程: 我的会话有问题。每次我登录到我的应用程序,我没有得到会话,但会被重定向到我的用户页面。创建/注册用户也很有效 会话\u helper.rb module SessionsHelper def sign_in(user) cookies.permanent[:remember_token] = user.remember_token @current_user = user #self.current_user = user end def signe
module SessionsHelper
def sign_in(user)
cookies.permanent[:remember_token] = user.remember_token
@current_user = user
#self.current_user = user
end
def signed_in?
@current_user != nil
#!@current_user.nil?
end
def current_user
@current_user ||= User.find_by_remember_token(cookies[:remember_token])
#@current_user ||= User.find_by_remember_token(cookies[:remember_token])
end
def current_user?(user)
@current_user = user
end
def sign_out
self.current_user = nil
cookies.delete(:remember_token)
end
def store_location
session[:return_to] = request.url
end
end
class SessionsController < ApplicationController
def new
@title = "| Signin"
end
def create
user = User.find_by_email(params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
sign_in user
redirect_to user
else
#Fehlermeldung anzeigen falls login nicht erfolgreich war
flash.now[:error] = "Invalid email/password combination"
render 'new'
end
end
def destroy
sign_out
redirect_to root_url
end
end
会话\u控制器.rb
module SessionsHelper
def sign_in(user)
cookies.permanent[:remember_token] = user.remember_token
@current_user = user
#self.current_user = user
end
def signed_in?
@current_user != nil
#!@current_user.nil?
end
def current_user
@current_user ||= User.find_by_remember_token(cookies[:remember_token])
#@current_user ||= User.find_by_remember_token(cookies[:remember_token])
end
def current_user?(user)
@current_user = user
end
def sign_out
self.current_user = nil
cookies.delete(:remember_token)
end
def store_location
session[:return_to] = request.url
end
end
class SessionsController < ApplicationController
def new
@title = "| Signin"
end
def create
user = User.find_by_email(params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
sign_in user
redirect_to user
else
#Fehlermeldung anzeigen falls login nicht erfolgreich war
flash.now[:error] = "Invalid email/password combination"
render 'new'
end
end
def destroy
sign_out
redirect_to root_url
end
end
class sessioncontroller
我发现至少有一个错误:
def current_user?(user)
@current_user = user
end
应该是
def current_user?(user)
@current_user == user
end
=,而不是=,因为您应该检查当前用户是否与其他用户相等,而不是进行分配。如果我忘记了一些文件,请询问我,我将添加这些文件。代码就是这样做的……它在用户中签名,然后重定向到用户页面。你希望它做什么?不,每次我提供我的帐户详细信息。。我来到我的个人主页。。但是当我点击登录按钮时。。。它指引我进入登录页面,尽管我已经登录了!您确定在浏览器中启用了Cookie吗?是的,我启用了@很抱歉,这不起作用:/