在我的路线上出现一个奇怪的错误,“缺少必需的钥匙”栏杆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)
- 如何为Hartl的rails教程授予AWS用户权限
- 如何保持rspec测试DRY有很多“have_link”
- RailsTutorial.org – 用户中的ExecJS :: RuntimeError #index
- SQLite3 :: SQLException:迁移时重复的列名
- 用户注册测试在M.Hartl的Rails教程中失败
- Rails教程:RSpec测试解耦
- 为Heroku安装PostgreSQL gem pq
- RailsTutorial 3.2 Ch 9 – “before {valid_signin(user)}”导致RSpec测试失败
- 如何将image_tag与bootstrap类一起使用:“img-responsive”? 第11章