欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Rails中使用REST,登录相关的问题,如何获得当前正在处理的url? 博客分类: Ruby RoR RailsRESTRubyMVCBlog 

程序员文章站 2024-02-26 12:06:22
...
如果整个routes是使用传统的mvc方式实现的话,我们可以简单地记录一下当前的controller和action的名字,等到登录成功之后就可以redirect过去。

但是如果使用REST,则就不能简单地记录controller和action,例如/articles/1;edit这样的url就比较特别。另外一个问题是,除了要记录url外,还要记录使用什么HTTP Method,是GET, Post, PUT还是DELETE。

如果涉及到的action就是标准的index, create, new, show, update, edit, destory,那么可以使用一个case判断,然后调用相应的url helper,比如articles_url,然后把HTTP Method以硬编码的方式写入。但是如果在routes.rb里面添加了自己的routine,比如
map.resource :articles, :collection => { :recent => :get }

那么又要怎么办呢?自己加入的routine有三种类型:collection, :member和:new,HTTP Method也可以随意指定,那么要怎么生成url呢?