2014-04-04 2 views
0

그래서 localhost : 3000에서이 오류가 발생합니다. 블로그 앱을 게시하는 GIF를 만들고 있는데 _feed_item.html.erb 부분에 나타나는 항목에 편집 기능을 추가하려고합니다. 아래 오류 및 일부 소스 파일에 대한 링크를 요지에 게시했습니다. 나는 루트가 괜찮다고 생각하지만 "필수 키가 누락되었습니다 : [: id]"조각은 내가 이해하지 못하는 한 측면입니다. 왜 이것이 내 삭제 기능뿐만 아니라 작동하지 않는지 잘 모르겠다. 이 코드 중 일부는 Hartl의 레일 튜토리얼을 기반으로합니다. 라인 # 25 제기내 경로에 이상한 오류가 발생했습니다. "누락 된 필수 키"레일 4

응용 프로그램 /보기/공유/_feed_item.html.erb :

없음 경로 일치 {: 컨트롤러 => "microposts": 행동 => "편집"} 필요한 키 누락 : : ID]

추출 소스 (라인 # 25의 주위에 (아래의 굵은 선 참조)) :

</span><br /> 

<% if current_user?(feed_item.user) %> 
    **<%= link_to "edit", edit_micropost_path %>** 
    <%= link_to "delete", feed_item, method: :delete, 
       data: { confirm: "Are you sure? "}, title: feed_item.content %> 
<% end %> 
</li> 
당신은 그것이 알고 귀하의 편집 경로 매개 변수를 줄 필요가

Link to Gist

+0

계산 된 경로를 보려면 '레이크 경로'출력을 사용하십시오. 나는 당신의 경로가 복수화 될 필요가 있다고 생각합니다. edit_microposts_path – EricM

+0

edit_micropost GET /microposts::id/edit(.:format) microposts # edit 복수형으로 바꿨을 때 정의되지 않은 지역 변수 나 메소드'edit_microposts_path '가 새 것으로 바뀌 었습니다. . – user3174983

답변

0

거의 다 왔어. 오류 메시지는

No route matches {:controller=>"microposts", :action=>"edit"} missing required keys: [:id]입니다.

컨트롤러가 액세스하려는 리소스 (마이크로 포스트)를 알아야합니다. 자원의 ID를 주면 모두 괜찮을거야.

**<%= link_to "edit", edit_micropost_path(feed_item.id) %>** 
0

편집 할 마이크로 포스트의 ID입니다.

edit_micropost_path(feed_item) 
관련 문제