我很困惑为什么这不起作用。所以在控制器内部,我有一些看起来像这样的东西
#controllers/report_controller.rb
def new
test = GenerateReport.generate(data)
end
然后我有一个看起来像这样的模型:
#models/generate_report.rb
class GenerateReport < ActiveRecord:Base
def self.generate(data)
# some code
end
end
当我的控制器点击“新”动作时,它确实有效。但是,如果我将GenerateReport重命名为GenerateReportX并相应地更改控制器中的函数,请重新启动rails app,它无法识别GenerateReportX。我不明白为什么会这样?我在整个rails应用程序中重命名了GenerateReport的所有内容并完全重新启动应用程序。
我的实际问题是,我创建的新模型几乎完全模仿了一个工作正常的模型(没有我重命名),并且它的类没有被识别。
我已尝试将此config.autoload_paths += %W(#{config.root}/lib)
添加到application.rb
,但这并不能解决任何问题。
有关此问题的任何建议和可能的澄清吗?
答案 0 :(得分:1)
如果该课程名为GenerateReportX
,则必须住在models/generate_report_x.rb