2016-12-24 41 views
1

我有树模型关联,它们在下面的链接文件中。ActionView :: Template :: Error(对于nil:NilClass,未定义的方法`count'):

书本模型有许多合同和选项。

当我尝试以显示选项索引页状态(取消)合约的数量,一切都在开发服务器正常我的机器 代码上低于:

应用程序/视图/选项/索引。 html.erb:

app/view/option/index.html.erb

但在升级服务器,我得到了错误的升级日志下面

临时服务器错误日志:

staging server error log

+1

请在你的问题的实际代码和错误消息。屏幕截图不起作用。 http://meta.stackoverflow.com/a/285557/1589422 –

+0

没有文本文件提供,这个问题缺乏[mcve],所以会被搁置。但是,如果编辑得当,它可以重新打开。 – halfer

回答

0

部分书籍可能没有相关的合同,所以调用合同where会失败,如果books.try(:contracts)回报nil。您有几种选择来解决这个问题,但一个简单的办法是检查是否有book实例实际上已与它相关联contracts

option.book.contracts.count if option.book.contracts.any? 
0

option.book回报为零,因此,解决方案是(56行):

option.try(:book).try(:contracts).try(:count) 

option.book.contracts.count rescue nil 
相关问题