2017-10-17 1 views
0

에 로그인 할 때 페이지를 렌더링하지 않습니다 보여 I는 I 내 레일 응용 프로그램에서 항목의 쇼 링크를 클릭하면 내 터미널에 다음을 얻을 :이 찾고 몇 가지 이유를 들어항목은 사용자가 레일

Started GET "/items/7-water-bottle" for 127.0.0.1 at 2017-10-17 
13:00:36 
-0700 
Processing by ItemsController#show as HTML 
Parameters: {"id"=>"7-water-bottle"} 
User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 
2 
ORDER BY `users`.`id` ASC LIMIT 1 
Item Load (0.2ms) SELECT `items`.* FROM `items` WHERE `items`.`id` = 
7 LIMIT 1 
Review Load (0.2ms) SELECT `reviews`.* FROM `reviews` WHERE 
`reviews`.`item_id` = 7 
Rendering items/show.html.haml within layouts/application 
Item Load (0.2ms) SELECT `items`.* FROM `items` WHERE `items`.`id` = 
0 LIMIT 1 
Rendered items/show.html.haml within layouts/application (6.4ms) 
Record not found 
Rendering public/404.html 
Rendered public/404.html (0.5ms) 

ID가 0 인 항목에 대해 아무도 로그인하지 않은 경우이 문제가 발생하지 않습니다.

자세한 내용을 알고 싶으면 알려주십시오.

감사합니다.

답변

0

전달중인 ID가 문자열 인 것 같습니다. 레일즈는 그 스팅 7-water-bottle을 제로 (콘솔에서 체크)를 리턴 할 정수로 강요하려고합니다.

우연히 friendly_id 보석을 사용하고 계십니까? 그렇다면 Item.friendly.find(params[:id])을 사용해야하며 정수 ID로 검색하는 대신 정의한 슬러그로 검색합니다.

이 경우가 아니라면 더 많은 코드와 컨텍스트를 포함 시켜서이 문제를 해결할 수 있습니다!