我的 Web 应用程序失败的最常见原因之一是用户有时缺少视图期望它具有的某个属性。例如,我的应用程序中的大多数用户在我们的系统中都有教育(学校、学位等)条目,但有些用户没有。假设我的观点是这样的:
<% @educations.each do |education| %>
<%= education.school %>
<%= education.degree %>
<% end %>
我想避免“口袋妖怪”异常处理,并认为在用户在我们的数据库中没有教育条目的情况下,必须有更好的方法来处理“nil:NilClass 的未定义方法‘度’”错误. 这似乎是一个丑陋/乏味的修复:
<% @educations.each do |education| %>
<% if education.school %>
<%= education.school %>
<% end %>
<% if education.degree %>
<%= education.degree %>
<% end %>
<% end %>
任何输入表示赞赏。谢谢!