2014-03-31 9 views
16

Ich verfüge über ein Customer_ratings-Modell, mit dem Benutzer Feedback geben können. Die Web-App funktioniert ordnungsgemäß und Feedback wird gesammelt, gespeichert und angezeigt.Rails-Konsole: Kontinuierliche Autoload-Funktion nicht möglich

Ich wollte gehen und ein Feedback über die Schienen-Konsole zu löschen, aber wenn ich Customer_rating.all eingeben, bekomme ich folgende Fehlermeldung:

Und falls ich Kundenmeinungen [0] eingeben, erhalte ich:

Ich habe dieses Problem nicht beim Zugriff auf andere Tabellen über meine Konsole.

Was könnte das Problem verursachen und warum würde dieser Fehler nicht verhindern, dass Customer_ratings ordnungsgemäß über die Web-App funktioniert?

+0

sein sollte, sehe ich einige Probleme. Lassen Sie uns das auf dem Chat besprechen http://chat.stackoverflow.com/rooms/48530/ror –

+0

FYI alle Konstanten müssen sein [CamelCase] ​​(http://en.wikipedia.org/wiki/CamelCase) - Sie sollten sein Calling 'CustomerRating' –

Antwort

35

Es scheint wie ein Fall von verwirrter Namenskonvention.

Per Rails Namenskonvention, Dateinamen sollte in CamelCase in snake_case und Klassennamen sein. In Ihrem Szenario sollte der Dateiname customer_rating.rb sein und Klassenname sollte CustomerRating sein. Nachdem Sie diese Änderungen vorgenommen haben, verwenden Sie CustomerRating.all (der aktualisierte Klassenname lautet CustomerRating), um alle Kundenbewertungen abzurufen. Verwenden Sie nichtCustomer_rating.all.

+1

CustomerRating.all vs Cutomer_rating.all war das Problem. Vielen Dank! – dmt2989

+0

Froh zu helfen :) –

+0

"Live lang und gedeihen" –

6

Ich möchte auch ein Szenario für dieses Problem hinzufügen, das ich für zukünftige Referenz gefunden habe.

Ich habe Rails 4.0 und ich hatte das gleiche Problem, aber was passierte, war ich hatte ein Modell namens Student in student.rb, die in einem Ordner namens Student enthalten war. Ich habe es zuerst nicht bemerkt, aber der Name des Ordners war das Problem. Durch das Ändern des Ordnernamens in einen anderen Namen als den Modellnamen wurde das Problem behoben.

+0

Vielen Dank dafür, gütiger Herr! – doug

-1

Sie brauchen nur den Namen des Moduls

Zum Beispiel zu ändern, wenn der Link http://sairam.esy.es/users/customer_rating dann ist Sie Controller wie

Module Users 
Class RatingController 
... 
.. 
def customer_rating 
.. 
.. 
end 
end 

Ende

+0

Dies ist keine Ruby-Syntax – Houen