在错误输出之前,如何检查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中的一些混乱。