如何对.erb文件中的两个变量执行内联计算?

时间:2012-04-09 01:05:42

标签: ruby

我在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

我该怎么办?

1 个答案:

答案 0 :(得分:3)

对@Zabba,在这种情况下,我认为你会为你的Session模型添加一个方法,所以你可以调用session.net_balance。

然后在您的balance_ending和balance_beginning方法中,您希望处理nil,如果有效则引发错误或返回零。