1

我有一个 Rails 应用程序,我在其中使用 authlogic 和 cancan 的组合。

当我current_user在应用程序中检查时,我总是得到undefined variable or method 'current_user'

如果我使用,我可以current_user从我的 UserSessions 控制器中显示

定义创建
   @user_session = UserSession.new(params[:user_session])

   如果@user_session.save
       返回渲染:json => current_user
   结尾
结尾

但是,如果在我的家庭控制器中,我尝试

定义索引
   返回渲染:json => current_user
结尾

我得到了undefined错误。

在我的应用程序助手中,我有

类 ApplicationController < ActionController::Base
  防止伪造

  helper_method :current_user

  私人的

  def current_user_session
    如果定义返回@current_user_session?(@current_user_session)
    @current_user_session = UserSession.find
  结尾

  定义当前用户
    如果定义返回@current_user?(@current_user)
    @current_user = current_user_session && current_user_session.record
  结尾
结尾

所以在我看来会话正在创建中,但 rails 无法再次找到它。任何人都可以解释为什么会这样吗?

我已经阅读了 Ryan Bates 教程和其他一些教程,但对我来说似乎都一样。

4

1 回答 1

0

并不是这个问题的真正答案,但我最终剥离了 authlogic 并开始设计。与我在 authlogic 中尝试调试问题所花费的所有时间相比,进行更改要快得多。

于 2012-08-03T00:29:06.193 回答