Ich habe folgende .erb Ansicht in einer Sinatra App:Wie führe ich Inline-Berechnungen für zwei Variablen in einer ERB-Datei durch?
<% sessions.each do |session| %>
<%= session.balance_beginning %>
<%= session.balance_ending %>
<% end %>
Es funktioniert wie erwartet, den Anfang Anzeige und für jede Sitzung aufgezeichnet Salden endet. Ich möchte die Nettosalden aus der ERB-Datei berechnen, aber ich kann nicht herausfinden, wie es geht. Ich habe versucht, Variationen davon:
<% sessions.each do |session| %>
<%= session.balance_ending - session.balance_beginning %>
<% end %>
Das funktioniert nicht. Ich erhalte den folgenden Fehler in Sinatra:
undefined method `-' for nil:NilClass
Wie mache ich, was ich versuche zu tun?
Erstens, führen Sie keine Berechnungen in Ansichten - extrahieren Sie sie zu einem Helfer. Zweitens ist 'session.balance_ending'' nil', also der Fehler. – Zabba
Sollte eine Antwort sein;) – d11wtq
@ d11wtq: Und zu bemerken, dass "nil.to_i" ist Null würde es noch besser machen. –