获取:“无法找到SessionsHelper,预计它将在helpers / sessions_helper.rb中定义”
我在加载/ login /时在我的日志文件中收到以下内容。
Started GET "/login" for 120.138.93.108 at 2016-01-02 03:06:24 +0000
ActionController::RoutingError (Couldn't find SessionsHelper, expected it to be defined in 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和sessions_controller.rb定义为Classes,session_helper.rb定义为模块。
可能有什么不对?
我遇到了类似的问题:
Couldn't find AgileTeamsHelper, expected it to be defined in helpers/agile_teams_helper.rb
事实certificate我在我的助手中定义了这个:
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 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会寻找一个与帮助器相同的模块,但是驼峰很有用。 IE浏览器。 'agile_teams_helper'.camelize
– > "AgileTeamsHelper"
我通过重新创建helpers / sessions_helper.rb(使用touch)并使用完全相同的内容填充它来解决了这个问题。 很奇怪,但它确实奏效了。
我只是按照古老的建议:
如有疑问,请重新启动服务器
这对我来说已经足够了。 我完全确定代码没问题。
就我而言,我有一个:
包括ModuleName
指向模型中的非现有模块。 这个已被删除,但我错过了参考。
我的应用程序中的每个助手都有完全相同的“Coul not find …”错误,因此很难找出问题的来源。