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

Tim*_* T. 4 ruby null

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

20:         <p>Status: <%= @contact.try(:status) unless @contact.nil? || @contac
t.status.nil?%></p>
Run Code Online (Sandbox Code Playgroud)

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

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

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

这似乎是一个常见问题 - 它在开发中工作正常,但我没有在生产中找到它....

Gar*_*eth 8

使用Rails实用程序方法 try

<%= @contact.try(:status) %>
Run Code Online (Sandbox Code Playgroud)