我在ruby的模型类中定义了一个方法,如下所示。但是当我尝试使用该方法时,我得到的是 nil:NilClass 的未定义方法'-'。我不知道要去哪里。
bus.rb
def seat_avaliable
(self.seat - self.students.count)
end
答案 0 :(得分:1)
您不能在nil对象上调用或链接方法。您正在尝试从nil
中减去错误告诉您的内容。因此,您可以使用以下方法解决此问题:
def seat_avaliable
if seat.is_a?(Integer) && students&.any?
seat - students.count > 0
end
end
将您的观看代码更改为此
<% if bus.seat_available %><td>Seat Available</td><% end %>