我在Sinatra应用程序中有以下.erb视图:
<% sessions.each do |session| %>
<%= session.balance_beginning %>
<%= session.balance_ending %>
<% end %>
按预期工作,显示为每个会话记录的开始和结束余额。我想从.erb文件中计算净余额,但我无法弄清楚如何做到这一点。我尝试过这种变体:
<% sessions.each do |session| %>
<%= session.balance_ending - session.balance_beginning %>
<% end %>
这不起作用。我在Sinatra收到以下错误:
undefined method `-' for nil:NilClass
我该怎么办?
答案 0 :(得分:3)
对@Zabba,在这种情况下,我认为你会为你的Session模型添加一个方法,所以你可以调用session.net_balance。
然后在您的balance_ending和balance_beginning方法中,您希望处理nil,如果有效则引发错误或返回零。