Schienen: undefined method `+' for nil:NilClass
Habe ich diese super einfache code in meine view:
<% @something.each do |something| %>
<% i = i+1 %>
<div class="row">
<div class="span1"><span class="badge untouched"><%= i %></span></div>
</div>
<% end %>
diesen Fehler erhalten
undefined method `+' for nil:NilClass
Ich habe das exakt gleiche code in einer anderen Ansicht und dort klappt es!
Jedoch, ich bin neu auf Schienen, und Sie sehen, was ich tun möchte. Gibt es vielleicht eine mehr Allgemeine Weise zu erhöhen eine ganze Zahl innerhalb eines each-Schleife?
Wo kommt dieser Fehler her?
Vielen Dank für jede Hilfe!!!
i ist nicht definiert. du bist wahrscheinlich mit
each_with_index
in der anderen Ansicht und Sie ich als die index-variableInformationsquelleAutor DonMB | 2013-02-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut,
i
muss über einen Wert verfügen, bevor Sie können zunehmen.In ruby, einer variable, die noch nicht gestartet ist immer
nil
. Wenn Sie sageni
gibt es keine Möglichkeit zu wissen, wenn das ein integer ist, glaube ich.In typisierten Sprachen, würde Sie wahrscheinlich sagen
Integer i
oderint i
, damit der interpreter weiß, es ist eine ganze Zahl und setzen Sie ihn auf null.Zwar nicht direkt mein Problem, das war sehr hilfreich bei der Diagnose, was Los war. Ich hatte ein date-Feld, das gab es in 2 von 3 Fällen, und weil es war nicht, ich war immer eine Seite-breaking Fehler wie diese. Danke.
InformationsquelleAutor MurifoX
i ist nicht initialisiert,
anstelle der Verwendung each_with_index wie folgt
InformationsquelleAutor Muhamamd Awais
Variable initialisieren i = 0
InformationsquelleAutor Dipali
Definieren:
InformationsquelleAutor Boris Stitnicky