获取:“找不到 SessionsHelper,预计它会在 helpers/sessions_helper.rb 中定义"; [英] Getting: "Couldn't find SessionsHelper, expected it to be defined in helpers/sessions_helper.rb"

查看:52
本文介绍了获取:“找不到 SessionsHelper,预计它会在 helpers/sessions_helper.rb 中定义";的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在加载/login/时在我的日志文件中得到以下内容.

I am getting the following in my log file upon loading /login/.

在 2016-01-02 03:06:24 +0000 开始为 120.138.93.108 获取/login"

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

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

However, sessions_helper.rb does exist in the helpers folder. Furthermore, application_controller.rb and sessions_controller.rb are defined as Classes and the session_helper.rb as module.

可能有什么问题?

推荐答案

我遇到了类似的问题:

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

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

It turns out I had this defined in my helper:

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"

In this case I was missing the 's' in 'AgileTeamsHelper'. I believe that rails looks for a module with the same as the helper, but camel cased. IE. 'agile_teams_helper'.camelize -> "AgileTeamsHelper"

这篇关于获取:“找不到 SessionsHelper,预计它会在 helpers/sessions_helper.rb 中定义";的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆