ruft eine Methode im Modell aus der Sicht
Ich versuche zu bewerten, die Anzeige muss neben einem Element angezeigt, basierend auf, wenn er aufgerufen wurde bevor oder nicht, neue Kommentare usw. Bis ich mich entscheiden, auf ein symbol zu verwenden, ich will nur eine Zahl angezeigt.
in meinem Bericht Modells habe ich
def self.indicator
#bunch of if elsif statements returning a number 0-3
end
meiner Ansicht nach habe ich
<% @reports.each do |report| %>
<%= report.indicator %>
<% end %>
Bekomme ich undefined method 'indicator'
Ich dachte, ich hatte einen Griff auf, wie die Methoden funktionieren... aber ganz klar nicht, was mache ich falsch?
Bitte die vollständige Fehlermeldung. Ist es eine Klasse/Objekt, oder ist das eine nicht definierte Methode, die auf null?
Auch zeigen Sie die controller-Anweisung für die Ansicht, dass der @berichtet = Bericht.alle oder Bericht.finden(...), etc.
Auch zeigen Sie die controller-Anweisung für die Ansicht, dass der @berichtet = Bericht.alle oder Bericht.finden(...), etc.
InformationsquelleAutor bennett_an | 2012-01-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen
Brauchen Sie nicht das selbst, wie es [korrigiert] ist eine Klasse, die level-Methode.
InformationsquelleAutor Michael Durrant
In Ihrem Blick, Sie sind der Aufruf einer Instanzmethode
indicator
auf jedes report-ObjektAber in Ihrem Modell, das Sie definiert haben, eine Klasse Methode. So, damit es funktioniert, definieren Sie Ihre Indikator-Methode als Instanzmethode, zu:
InformationsquelleAutor maprihoda
Ihre iteration variable
report
verwendet wird, für den Gang durch alle Instanzen@reports
. Mitself.indicator
Sie die Deklaration einer Methode der Klasse (überself.name
). So würde es möglich machen, zu nennenReport.indicator
. Was Sie wollen, ist zu nennen, nur auf eine einzelne Instanz des Berichts, so können Sie die Methode bestimmen, nach Anzeige in Ihrem Modell wie folgt:Nun sollte diese Arbeit!
InformationsquelleAutor Tim Brandes