问题描述:

I kept receiving the above error and have spent days digging through posts and documentation trying to find the cause.

The app I'm buildings records fuel usage. The word repairer is in reference to a supplier in its own model with attributes like Rep_Name (Name) Address, Phone etc. Initially for scaffolding purposes, only repairer_id was used and everything worked fine. The issue came when trying to call the rep_name from the repairer model. (I even tried renaming the field to rep_name instead of name to solve the issue)

 undefined method `rep_name' for nil:NilClass

Extracted source (around line #38):

35: <td><%= f.litres %></td>

36: <td><%= f.cost %></td>

37: <td><%= f.tax %></td>

38: <td><%= f.repairer.rep_name%></td>

39: <td><%= f.fuel_type %></td>

40: <td class= "actions">

41: <%= link_to("Show", {:action => 'show', :id => f.id}, :class => 'btn btn-info') %>

网友答案:

replace <%= f.repairer.rep_name%> with

<%= f.repairer.blank? ? "" : f.repairer.rep_name %>
网友答案:

The cause of this was actually dirty data in the database. I had several fuel records where the repairer_id was null.

I deleted these records and the issued is resolved.

相关阅读:
Top