1

authlogicとcancanを組み合わせて使用​​しているRailsアプリがあります。

アプリでチェックするとcurrent_user、いつもundefined variable or method 'current_user'

current_userを使用すると、UserSessionsコントローラーから表示を取得できます

def create
   @user_session = UserSession.new(params [:user_session])

   @user_session.saveの場合
       return render:json => current_user
   終わり
終わり

ただし、Home Controllerの場合は、

defインデックス
   return render:json => current_user
終わり

undefinedエラーが発生します。

私のアプリケーションヘルパーには、

クラスApplicationController<ActionController:: Base
  secure_from_forgery

  helper_method:current_user

  プライベート

  def current_user_session
    定義されている場合は@current_user_sessionを返しますか?(@ current_user_session)
    @current_user_session = UserSession.find
  終わり

  def current_user
    定義されている場合は@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 に答える