2013-12-15 2 views
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는 위의 오류를 보여줍니다 ... 어떤 아이디어가 잘못되었을 수 있습니까?

+0

위의 줄에있는 특정 인스턴스는 null처럼 들립니다. .. 그것이 존재하는지 확인할 수 있습니까? – CDub

+0

예, 문제가있는 줄을 사람과 함께 제거하면 모든 것이 작동하기 때문입니다. 그것은 루프입니다. <% @ seeds.each do | seed | %>와 시드 변수보다 나는 작동중인 다른 데이터에 접근한다 ... – Dragan

+1

그리고이 경우'person_id'는 무엇인가? 나는 정수 나 정수가 아닌 문자열을 가지고 있기 때문에 일반적으로이 에러를 보았습니다. 따라서 레일스에는 ID가 없습니다. – CDub

답변

0

두뇌로 하루 종일 코딩 한 후 미안 해요. 요점은 테이블의 중간에 나는 사람을위한 NULL 객체를 가졌고 그 오류를 일으키는 것입니다 ... 시간 내 주셔서 감사합니다.

관련 문제