ruby-on-rails - 获取 : "Couldn' t find SessionsHelper, 期望它在 helpers/sessions_helper.rb 中定义”

标签 ruby-on-rails ruby

加载/login/后,我的日志文件中出现以下内容。

在 2016-01-02 03:06:24 +0000 开始获取 120.138.93.108 的“/login”

ActionController::RoutingError(找不到 SessionsHelper,希望它在 helpers/sessions_helper.rb 中定义): 应用程序/ Controller /application_controller.rb:1:in' app/controllers/sessions_controller.rb:1:in'

但是,sessions_helper.rb 确实存在于 helpers 文件夹中。此外,application_controller.rb 和 sessions_controller.rb 被定义为类,session_helper.rb 被定义为模块。

有什么问题吗?

最佳答案

我遇到了类似的问题:

Couldn't find AgileTeamsHelper, expected it to be defined in helpers/agile_teams_helper.rb

事实证明我在我的助手中定义了这个:

module AgileTeamHelper
  def td_color(text)
    if text == "Green"
      "green-background"
    elsif text == "Yellow"
      "yellow-background"
    elsif text == "Red"
      "red-background"
    end
  end
end

代替:

module AgileTeamsHelper # <-- (Notice the extra s after teams)
  def td_color(text)
    if text == "Green"
      "green-background"
    elsif text == "Yellow"
      "yellow-background"
    elsif text == "Red"
      "red-background"
    end
  end
end

在这种情况下,我缺少“AgileTeamsHelper”中的“s”。我相信 rails 会寻找一个与 helper 相同但采用驼峰式封装的模块。 IE。 'agile_teams_helper'.camelize -> "AgileTeamsHelper"

关于ruby-on-rails - 获取 : "Couldn' t find SessionsHelper, 期望它在 helpers/sessions_helper.rb 中定义”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34562224/

相关文章:

javascript - 在 Windows 8 上 rake Assets :precompile failed in rails 3. 2.8

ruby-on-rails - 在 Rails 中发送项目邀请

Ruby——理解符号

ruby-on-rails - 使用 Capistrano 在 Rails 4 中延迟作业

ruby-on-rails - 为什么在生成模型时会创建时间戳

ruby-on-rails - 使用Rails迁移创建丢失的自动增量属性

ruby-on-rails - 使用 PostgreSQL 的模式和 Rails 创建 Multi-Tenancy 应用程序

ruby - Padrino Controller 抽象

javascript - 任何 Ruby 的 HTML 解析器都可以执行 JavaScript 来查看生成的 DOM 吗?

ruby - 收集 ruby​​ 脚本中的异常