여기 내 인덱스 뷰 템플릿 내 코드에게 Heroku에 DO 루프에서 '문자열로 전무를 변환 할 수 없습니다'가 발생합니다 :도우미 메소드는
<% @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'라고 부르거나 실제 문자열을 사용한다면, 그것은 잘 작동하고 raw location.uwi 값을 표시합니다. 그래서 그것이 0이 아닌 값이라는 것을 압니다. 나는 심지어 위치를 시도했다 .uwi.to_s.
매우 기괴합니다. 쇼, 편집 및 기타보기에서이 헬퍼를 호출 할 수 있으며 정상적으로 작동합니다. Do 루프와 Heroku에서만 실패합니다.
좋아 ... 점점 더 심해지고있다. @locations는 세션에 저장된 사용자의 company_id 관계를 기반으로 한 검색 결과입니다. 위치가없는 사용자 (company_id를 통해)로 전환하면 루프 할 위치가 없기 때문에이 코드가 작동합니다. 위치가있는 사용자가 nil에서 실패합니다. 내가 아직 시도한 바가 없으면 link_to에서 도우미를 끌어내어 문제의 일부인지 확인합니다. –