0
레일스 프로덕션 환경에서만 매우 이상한 오류가 있습니다. 개발에 좋은 작품. 로그는 내 index.html.erb 파일에이 행의 오류를 표시합니다. 이 라인 전에레일스 제작 오류 ActiveRecord :: RecordNotFound (ID가없는 사람을 찾을 수 없음)
<td><%= Person.find(seed.person_id).name %></td>
내가 외래 키와 같은 방식으로 다른 데이터를 쿼리 :
ActiveRecord::RecordNotFound (Couldn't find Person without an ID):
app/views/seeds/index.html.erb:71:in `block in _app_views_seeds_index_html_erb__4016841983995682700_31529840'
app/views/seeds/index.html.erb:61:in `each'
app/views/seeds/index.html.erb:61:in `_app_views_seeds_index_html_erb__4016841983995682700_31529840'
app/controllers/seeds_controller.rb:17:in `index'
내 종자 인덱스 파일의 라인이 하나입니다
이
생산 로그 오류입니다 작동합니다. 내가 sql 테이블을 확인하면 Seeds 테이블에 person_id 값이 있다는 것을 알 수 있습니다.또한 프로덕션 환경에서 레일즈 콘솔을 통해 동일한 것을 쿼리 할 때 아무런 문제없이 결과가 나타납니다. 그러나 페이지를로드 할 때 "찾고 있던 페이지가 존재하지 않습니다."라는 메시지가 나타납니다. 그리고 production.log는 위의 오류를 보여줍니다 ... 어떤 아이디어가 잘못되었을 수 있습니까?
위의 줄에있는 특정 인스턴스는 null처럼 들립니다. .. 그것이 존재하는지 확인할 수 있습니까? – CDub
예, 문제가있는 줄을 사람과 함께 제거하면 모든 것이 작동하기 때문입니다. 그것은 루프입니다. <% @ seeds.each do | seed | %>와 시드 변수보다 나는 작동중인 다른 데이터에 접근한다 ... – Dragan
그리고이 경우'person_id'는 무엇인가? 나는 정수 나 정수가 아닌 문자열을 가지고 있기 때문에 일반적으로이 에러를 보았습니다. 따라서 레일스에는 ID가 없습니다. – CDub