在 rails engine authentify 中定义了一个方法 load_session_variable 并被其他 rails engine 中的控制器调用。在开发中,找到方法没有问题。但是在生产中,有一个错误:
"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 声明应该使该方法可供其他人使用。生产环境是 ubuntu 12.04 和 nginx/passenger。开发是在 Windows 中进行的。如何解决问题?谢谢。