作者castle146 (Mr.)
看板Ruby
标题[问题] 使用RESTful遇到的问题
时间Tue Apr 28 21:56:33 2015
大家好,因为刚开始自学ROR,看了一些文章介绍,
找了ihower的「Ruby on Rails 实战圣经」来慢慢学习。
我在做「RESTful 应用程式(
https://ihower.tw/rails4/restful.html)」这个章节的时候遇到了一个问题,
当我按照步骤将前几章的CRUD改成RESTful版本的CRUD时,
出现了「ActiveRecord::RecordNotFound in EventsController#show」错误。
如图
http://i.imgur.com/ZhUYB5U.jpg
我有注意到这行{"requirements"=>{"id"=>/.*/}}
翻了版上有篇文章也有提到这点,不过在route.eb中加入这行,错误仍然一样。
请问是哪边没有注意到要修改的吗?
谢谢
controller以及view:
https://gist.github.com/RuBeginner/d92401ed23ce477799b1
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 120.119.192.7
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ruby/M.1430229396.A.ABE.html
1F:推 mars90226: 你用哪个路径连? 看起来他找不到id,你应该用错路径 04/28 22:18
2F:→ castle146: 这个错误是连到Localhost:3000/events发生的 04/28 22:30
3F:→ algiz: show 的 URI 应该是这样 localhost:3000/event/{:id} 04/29 01:33
4F:→ algiz: 而你params[:id]没东西, 所以爆炸了 04/29 01:37
5F:→ algiz: ^events/{:id} 04/29 01:38
6F:→ castle146: params[:id]没东西是指在DB中找不到资料吗? 04/29 07:06
7F:→ castle146: 不过在我改成RESTful之前都可以正常显示 04/29 07:06
※ 编辑: castle146 (120.119.192.7), 04/29/2015 07:07:46
8F:推 mars90226: 是show需要id来去DB找,他从URI去拿到ID,但是你连错 04/29 07:57
9F:→ mars90226: 你应该要用像是localhost:3000/events/1这样去找 04/29 07:57
10F:→ mars90226: 这样她会去找id为1的event 04/29 07:57
11F:→ mars90226: 再改成RESTful前可以work是因为他不是从URI上去找 04/29 07:58
12F:推 ihower: 你的routes.rb打错字了: 是 resources :events 04/29 14:17
13F:→ ihower: 你应该打错成 resource :events 了 04/29 14:18
14F:→ castle146: 真的打错了,有点丢脸 囧 04/29 20:16
15F:→ castle146: 我太粗心了,谢谢大家费心看我的问题以及讲解! 04/29 20:18