无法使用Devise登录Heroku



用户可以注册并重定向到在开发模式下工作正常的页面,但在 heroku 上注册时它会创建用户,但之后而不是重定向到配置文件,它将进入登录页面。如果我使用凭据登录用户,它将不会登录。这样做后我检查过

class UsersController < ApplicationController
  #  skip_before_filter  :verify_authenticity_token
  before_filter :check_current_user
  before_filter :authenticate_user!
 def show
 end
 def check_current_user
    user = User.find_by_id(session[:user_id])
    puts 'xxxxxxxxxxxxxxxxxxxxxxxx' , user.inspect
  end
 end

check_current_user给我当前用户"nil"

如果你没有改变 Devise 标准行为,当然你在 check_current_user 期间current_user nil ,那是因为该过滤器在 Devise 过滤器:authenticate_user!之前被称为 U,它在其中设置了current_user变量。只需尝试像这样交换两个过滤器:

before_filter :authenticate_user!
before_filter :check_current_user

此外,默认情况下,Devise 不会在会话中放置任何user_id,因此该方法应如下所示:

def check_current_user
  puts 'xxxxxxxxxxxxxxxxxxxxxxxx' , current_user.inspect
end

不确定它是否会解决您的所有问题,但至少是一个起点:)如果您仍然无法正常工作,请在您的问题中添加一些内容,以便我们进一步提供帮助。

最新更新