2016-03-31 70 views
0

我很困惑,爲什麼這不起作用。所以控制器內,我有一些看起來像這樣Rails無法識別我的新類

#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應用程序,它不會識別GenerateReportX。我不明白爲什麼會出現這種情況?我正在重命名整個Rails應用程序中的GenerateReport,並完全重新啓動應用程序。

我的實際問題是,我創建的一個新模型幾乎是一個工作正常的模型(沒有我重命名它),它的類沒有被識別。

我試過把這config.autoload_paths += %W(#{config.root}/lib)加到application.rb那不能解決任何問題。

有關此問題的任何建議和可能的澄清?

回答

1

如果類名爲GenerateReportX它生活在models/generate_report_x.rb

+0

怎麼樣HMTLtoXML類?我有一個名爲html_to_xml的模型文件,它不起作用。這是一個格式問題? – LewlSauce

+0

這不是命名Rails類的最佳方式。如果你不想爭取「慣例重於配置」,你最好命名它爲'HtmlToXml' –

+0

陷阱。非常感謝! – LewlSauce