2016-03-31 27 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に変更し、それに応じてコントローラーの機能を変更した場合は、Railアプリケーションを再起動してもGenerateReportXは認識されません。なぜこれが当てはまるのでしょうか?私はすべてのレールアプリでGenerateReportとアプリを完全に再起動すると言う名前を変更しています。

私の実際の問題は、私が作成した新しいモデルは、(名前を変更せずに)うまく動作し、そのクラスが認識されていないものとほとんど同じです。

application.rbに追加しようとしましたが、何も修正されません。

この問題に関するご意見はありますか?

答えて

1

クラスは、それがHMTLtoXMLクラスについてmodels/generate_report_x.rb

+0

何で生きなければならないGenerateReportX命名されている場合は?私はhtml_to_xmlと呼ばれるモデルファイルを持っており、動作していません。書式設定の問題ですか? – LewlSauce

+0

これはRailsクラスの名前を付ける最善の方法ではありません。 「コンベンションオーバーのコンベンション」と戦わない場合は、それを 'HtmlToXml'という名前にするのがよいでしょう –

+0

Gotcha。ありがとう、たくさんの男! – LewlSauce

関連する問題