Ich bin so verwirrt, warum das nicht funktioniert. So innerhalb eines Controllers, habe ich etwas, dasSchienen erkennt meine neue Klasse nicht
#controllers/report_controller.rb
def new
test = GenerateReport.generate(data)
end
sieht wie folgt aus und dann habe ich ein Modell, das wie folgt aussieht:
#models/generate_report.rb
class GenerateReport < ActiveRecord:Base
def self.generate(data)
# some code
end
end
Wenn mein Controller die „neue“ Aktion trifft, es tatsächlich funktioniert. Wenn ich jedoch GenerateReport in GenerateReportX umbenannte und die Funktion im Controller entsprechend änderte, starte die Rails-App neu, es erkennt GenerateReportX nicht. Ich verstehe nicht warum das der Fall ist? Ich benenne alles um, was GenerateReport in der gesamten Rails-App sagt und starte die App komplett neu.
Mein aktuelles Problem war, dass ein neues Modell, das ich erstellt habe, fast ein genaues Abbild desjenigen ist, der gut funktioniert (ohne dass ich es umbenenne), und seine Klasse wird nicht erkannt.
Ich habe versucht, diese config.autoload_paths += %W(#{config.root}/lib)
zu application.rb
hinzuzufügen, und das repariert nichts.
Irgendwelche Vorschläge und möglicherweise Klärung zu diesem Thema?
Was HMTLtoXML Klasse zu leben? Ich habe eine Modelldatei namens html_to_xml und es funktioniert nicht. Ist es ein Formatierungsproblem? – LewlSauce
Dies ist nicht der beste Weg, um eine Rails-Klasse zu benennen. Wenn Sie "convention over configuration" nicht bekämpfen möchten, nennen Sie es besser "HtmlToXml" –
Gotcha. Vielen Dank Alter!! – LewlSauce