为什么我会得到“未初始化的常量ApplicationController :: SessionsHelper(NameError)”?

时间:2013-08-01 02:37:24

标签: ruby

我正在做Michael Hart的教程,我收到错误:

rails_projects/sample_app/app/controllers/application_controller.rb:3:in `<class:ApplicationController>': uninitialized constant ApplicationController::SessionsHelper (NameError)

这是我的application_controller.rb文件:

class ApplicationController < ActionController::Base
  protect_from_forgery
  include SessionsHelper

  # Force signout to prevent CSRF attacks
  def handle_unverified_request
    sign_out
    super
  end 
end

5 个答案:

答案 0 :(得分:3)

你应该在app / helpers中有一个名为“sessions_helper.rb”的文件。在其中你至少应该有如下代码:

module SessionsHelper
end

我希望有所帮助。

答案 1 :(得分:1)

不确定你是否得到了答案,但我能够评论sessionhelper线并让我的工作。我不知道这是否有任何深远的影响,但它帮助我现在避开这个问题。

答案 2 :(得分:0)

您在哪里定义SessionHelper?如果它位于顶级模块,请尝试:

include ::SessionHelper

答案 3 :(得分:0)

更改包括SessionsHelper以包含SessionHelper 删除 S

答案 4 :(得分:0)

我有同样的问题。确保在部署到heroku后运行迁移:

heroku run rake db:migrate