2

我正在学习 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
4

5 回答 5

4

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

module SessionsHelper
end

我希望这会有所帮助。

于 2013-08-01T02:52:09.837 回答
1

不确定您是否得到答案,但我能够评论 sessionhelper 行并让我的工作。我不知道这是否有任何深远的影响,但它可以帮助我暂时规避这个问题。

于 2013-08-22T01:24:13.843 回答
0

将 include SessionsHelper 更改为包括 SessionHelper 删除S

于 2014-01-03T14:47:44.700 回答
0

你在哪里定义的SessionHelper?如果它在顶层模块,试试这个:

include ::SessionHelper
于 2013-08-01T02:54:03.517 回答
0

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

heroku run rake db:migrate
于 2014-02-05T19:25:07.677 回答