1

Rails エンジンの authentify で定義され、他の Rails エンジンのコントローラーによって呼び出されるメソッド load_session_variable があります。開発では、メソッドを見つけるのに問題はありません。ただし、本番環境では次のエラーが発生します。

"NetworkError: 500 Internal Server Error - http://6.95.25.93/nbhy/projectx/misc_definitions/new.js?for_which=project_status&subaction=project_status"

production.log のエラーは次のとおりです。

NameError (undefined local variable or method `load_session_variable' for #<Projectx::MiscDefinitionsController:0x0000000456f7f8>):

このメソッドは、エンジン認証で次のように定義されています。

   def load_session_variable
      session[:for_which] = @for_which if @for_which.present?
      session[:which_table] = @which_table if @which_table.present?
      session[:subaction] = params[:subaction] if params[:subaction].present?
    end

    module_function :load_session_variable

module_function 宣言は、メソッドを他の人が利用できるようにすることになっています。本番環境は、nginx/passenger を使用した ubuntu 12.04 です。開発はWindowsです。問題を解決するには?ありがとう。

4

1 に答える 1

1

これは、コード ベースを更新した後、本番環境で nginx を再起動しなかったようです。

例えば

  $ sudo /etc/init.d/nginx restart
于 2013-05-31T22:27:19.477 に答える