Ruby中如何提前检测nilClass对象未定义的方法以避免出错?
- 内容介绍
- 文章标签
- 相关推荐
本文共计208个文字,预计阅读时间需要1分钟。
我在使用以下内容时遇到了错误:
20: pStatus: %=@contact.try(:status) unless @contact.nil? || @contact.status.nil?%
但是,我收到了以下错误信息:ActionView: :TemplateError (undefined method 'status' for nil:NilClass) on line 问题在于尝试在`nil`对象上调用`status`方法。20: <p>Status: <%= @contact.try(:status) unless @contact.nil? || @contac t.status.nil?%></p>
但是,我仍然收到以下错误:
ActionView::TemplateError (undefined method `status' for nil:NilClass) on line # 20 of app/views/contacts/show.html.erb:
有没有更好的方法来检查?
这似乎是一个常见问题 – 它在开发中工作正常,但我没有在生产中找到它….
使用Rails实用程序方法try
<%= @contact.try(:status) %>
本文共计208个文字,预计阅读时间需要1分钟。
我在使用以下内容时遇到了错误:
20: pStatus: %=@contact.try(:status) unless @contact.nil? || @contact.status.nil?%
但是,我收到了以下错误信息:ActionView: :TemplateError (undefined method 'status' for nil:NilClass) on line 问题在于尝试在`nil`对象上调用`status`方法。20: <p>Status: <%= @contact.try(:status) unless @contact.nil? || @contac t.status.nil?%></p>
但是,我仍然收到以下错误:
ActionView::TemplateError (undefined method `status' for nil:NilClass) on line # 20 of app/views/contacts/show.html.erb:
有没有更好的方法来检查?
这似乎是一个常见问题 – 它在开发中工作正常,但我没有在生产中找到它….
使用Rails实用程序方法try
<%= @contact.try(:status) %>

