加载/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/