0

私は上記のエラーを受け取り続け、原因を見つけるために投稿やドキュメントを掘り下げて何日も費やしました。

私が構築しているアプリは、燃料使用量を記録します。修復者という言葉は、Rep_Name(Name)Address、Phoneなどの属性を持つ独自のモデルのサプライヤーを指します。最初は足場の目的で、repairer_idのみが使用され、すべてが正常に機能しました。この問題は、リペアラーモデルからrep_nameを呼び出そうとしたときに発生しました。(問題を解決するために、フィールドの名前を名前ではなくrep_nameに変更しようとしました)

    undefined method `rep_name' for nil:NilClass

抽出されたソース(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') %>
4

2 に答える 2

1

<%= f.repairer.rep_name%>を次のように置き換えます

<%= f.repairer.blank? ? "" : f.repairer.rep_name %>
于 2012-12-20T07:04:41.290 に答える
0

この原因は、実際にはデータベース内のダーティ データでした。repairer_id が null である燃料レコードがいくつかありました。

これらの記録を削除し、問題は解決しました。

于 2012-12-20T05:37:33.323 に答える