我跟你们讲,之前那几篇路由随便看看就好了,并且里面还有错误,也不详细,很多地方看了都是白看,之前说了的,在这里不会说什么,但是下面说的都是常见错误,并且都是很隐形的错误,可能自己看了一天都看不出来的那种,但是现在,我要写下我第一个看了一天自己活生生瞎jb琢磨出来的:
前端给后端的hash参数 params,一般情况下,里面会有:controller,:action,:id这几个key。
错误表现:
- 路由里面的名词是复数。比如:edit_posts_path这个样子的,不然就会报错。
- 在ruby代码中,打印params,出现的key中没有:id这个参数。
- 即便是使用前端硬编码路由 比如说:
{:controller => 'admin/posts', :action => 'edit', :id => 'post.id'}
这样直接会提示找不到路由。
发生了以上这种情况,那么,只有一种可能:你的routes.rb文件中的路由信息写错了,并且你可能看的比较详细,但是仍然没有发现哪里粗了,那么我来说:
你的resources写成了resource
一个字母的差距