在我的路线上出现一个奇怪的错误,“缺少必需的钥匙”栏杆4

所以我在我的localhost:3000上收到此错误。 我正在制作一个gif发布博客应用程序,我正在尝试为我的_feed_item.html.erb部分中显示的项目添加编辑function。 我已经发布了下面的错误和一个gist中的一些源文件的链接。 我相信路线还可以,但是“缺少必需的钥匙:[:id]”这件事是我不明白的一个方面。 不知道为什么这不像我的删除function那样好用。 其中一些代码基于Hartl的rails教程。

app / views / shared / _feed_item.html.erb第25行引出:

没有路由匹配{:controller =>“microposts”,:action =>“edit”}缺少必需的键:[:id]

提取的来源(第25行(见下面的粗线)):


****

链接到Gist

你快到了。 错误消息说,

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

控制器必须知道您尝试访问的资源(微博)。 给出资源的id,你就会好起来的。

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

您需要为编辑路径指定一个参数,以便它知道要编辑的微博的ID。

 edit_micropost_path(feed_item)