新手问题 HTTP VERB delete 变成 get 的新手解决及问题

sawater · 2012年07月02日 · 最后由 fsword 回复于 2012年07月03日 · 3074 次阅读

我才开始接触 ruby 以及 rails。最近看了一些 rails 资料,但是“纸上得来终觉浅”啊...于是决定动手写 一个 blog 来练练手。 一边看书一边啃 railsGuides,妹的,英文不好桑不起啊!Asset Pipeline 看的实在头大啃不下来,索性就在 config 里关掉了(赶脚写个简单 blog 的话应该也用不上这么“高端”的东西吧...汗...) 之后 routes,controller,view,model 也都有惊无险的大致成功的用上了= =。但终于最坑爹的问题出现了:

在 routes 中配置了 resources,写 destroy action 的时候发现一点链接就跳到 show action 里了。一开始我以为手写的链接有问题(没错••是手写••应为 helper 那时还不太会用),然后又费了老大劲看 railsGuides 里的相关 helper 方法。用了之后尼玛为什么还不行...为了确认链接生成的没问题,我新建了个工程对照着 scaffold 仔细看,链接真的木有问题啊...

这下郁闷了= =,为什么 scaffold 的可以成功 delete 我的就不行。于是决定抓个包,从 http 角度看看到底是肿么了!

我的:

Scaffold:

两个发送的请求就不一样,最后仔细的找了找两个页面中的不同。发现就差了两个 js:jquery.js、jquery_ujs.js 最后从浏览器里把这两个 js 下下来拷到 public 中,然后引用在页面中。然后问题就解决了~~ 这个问题正统的解决方法改怎么弄啊?(承认我的方法有点二...)

正统的解决方法就是你那样的。。。

因为 DELETE 方法还没有被广泛兼容,所以 Rails 的变通方法是加个 method: delete… 而这个要靠 js 来实现…so…

这个问题好像我也遇到过,最后怎么解决忘了,好像是换了下 jquery 的版本。。。

蛋疼的问题

拜楼主提问题的方式,有背景有分析,有自己的尝试,文字也没什么歧义,要是大家都这么问问题多好啊

需要 登录 后方可回复, 如果你还没有账号请 注册新账号