这是我的索引视图模板中的代码:
<% @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。
很奇怪。我可以在节目、编辑和其他视图上调用这个助手,它工作正常。它只在 Heroku 上的 do 循环 AND 中失败。