2012-04-04 5 views
0

ここに私のインデックスビュー・テンプレートで私のコードであるHerokuの上でループを実行します。ヘルパーメソッドはで「文字列の中にnilを変換することはできません」スローだけ

<% @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 %> 

それは私の地元のdevのシステム上の細かい動作しますが、Herokuのに失敗しましたプロの&開発環境です。私が取得:

"TypeError... can't convert nil into String"

formatted_uwiはlocation.uwi入力をフォーマットし、単純なヘルパーです。私が 'location.uwi'と呼んだり、実際の文字列を使用したりすると、うまく動作し、生のlocation.uwi値が表示されるので、ゼロ値ではないことが分かります。私もlocation.uwi.to_sを試しました。

非常に奇妙です。私はショー、編集、および他のビューでこのヘルパーを呼び出すことができ、それは正常に動作します。それはdoループとHerokuでのみ失敗します。

+0

よろしくお願いします。 @locationsはセッションに格納されているユーザーのcompany_id関係に基づいた検索結果です(これは動作確認済みです)。場所がないユーザー(company_id経由)に切り替えると、ループする場所がないため、このコードが機能します。ロケーションのあるユーザーがゼロで失敗します。 私がまだ試していないのは、それが問題の一部であるかどうかを確認するためにlink_toからヘルパーを引き出すことです。 –

答えて

0

私は何をしたのかわかりませんが、私は助けを借りて自分のヘルパーに戻ってきて、今はうまくいくようです。

関連する問題