Rückgabewert Methode in ruby
Habe ich diese Methode:
def validates_image_dependents
post = self.find(params[:id])
i=0
for this_post in Post.all
if this_post.posted_filename == post.post_filename
i+=1
end
end
return i > 1
end
Ich soll die Methode true oder false zurück Abhänging, wenn ich > 1, aber ich bekomme null.
Was mache ich schlecht?
Ohne Methode funktioniert gut.
Danke
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht aus wie Sie sehen
nil
Ergebnis in der irb-Ausgabe wie diese:Dies geschieht, weil Sie angegebenen Methode
validates_image_dependents
und definition der Methode, der Ausdruck zurückgegebennil
.Die Sie benötigen, um ausführen Ihre Methode, um tatsächliche Ergebnis:
Dies funktioniert gut für mich. Es gibt true oder false zurück.
Kann etwas sonderbares geschieht in der Methode? Würde ich einen debugger und prüfen.
zur Vereinfachung Ihrer Methode, die Sie verwenden können, so etwas wie dieses:
Ich sehe keine Möglichkeiten, dass dieser code, wird nil zurückgegeben.
return i > 1
kann nicht zurückkehren, null-egal welcher Typ oder den Wert i hat.Wenn ich null ist, oder jede andere Art anstelle Numerischer es sollte eine Fehlermeldung ausgeben, andernfalls sollte einen booleschen Wert zurückgeben. Nehmen Sie einen besseren Blick auf das, was code, den Sie gerade laufen.