在错误输出之前,如何检查nilClass的未定义方法?

我目前正在使用以下内容:

20: 

Status:

但是,我仍然收到以下错误:

 ActionView::TemplateError (undefined method `status' for nil:NilClass) on line # 20 of app/views/contacts/show.html.erb: 

有没有更好的方法来检查?

这似乎是一个常见的问题 – 它在开发中运行良好,但我没有在生产中找到它….

使用Rails实用程序方法try

 <%= @contact.try(:status) %> 

也许

 <%= @contact.status unless @contact %> 

要么

 <%= @contact && @contact.status %> 
 <%= @contact.status unless @contact.nil? || @contact.status.nil? %> 

试试这个

 <%= @contact.status unless @contact.status.nil? unless @contact.nil? %> 

为什么不更改getStatus方法或添加清除联系对象中数据的getStatusUI方法? 这样你就可以删除html中的一些混乱。