インデックスビューテンプレートのコードは次のとおりです。
<% @locations.each do |location| %>
<tr>
<td><%= link_to formatted_uwi(location.uwi), location_path(location) %></td>
<td><%= location.name %></td>
<td><%= location.created_at %></td>
<td>
<%= link_to 'Edit', edit_location_path(location), :class => 'btn btn-mini' %>
<%= link_to 'Destroy', location_path(location), :method => :delete, :confirm => 'Are you sure?', :class => 'btn btn-mini btn-danger' %>
</td>
</tr>
<% end %>
ローカルの開発システムでは正常に動作しますが、プロおよび開発環境のHerokuでは失敗します。私は得る:
"TypeError... can't convert nil into String"
formatted_uwi
location.uwi入力をフォーマットする単純なヘルパーです。'location.uwi'だけを呼び出すか、その場所で実際の文字列を使用すると、正常に機能し、生のlocation.uwi値が表示されるため、nil値ではないことがわかります。location.uwi.to_sも試してみました。
非常に奇妙です。ショー、編集、その他のビューでこのヘルパーを呼び出すことができ、正常に機能します。これは、doループとHerokuでのみ失敗します。