如何重新路由GET资源以返回Rails中的EDIT视图

时间:2010-02-07 18:55:30

标签: ruby-on-rails routing

我的问题很简单,在我正在构建的应用中,无需显示用户的帐户作为编辑用户帐户的单独操作。也就是说,而不是

URL            | HTTP Verb  | Action
============================================
/account/new   | GET        | new
/account/edit  | GET        | edit
/account       | POST       | update
/account       | PUT        | create

我正在寻找更多:

URL            | HTTP Verb  | Action
============================================
/account/new   | GET        | new
/account       | GET        | edit
/account       | PUT        | update
/account       | POST       | create

现在,我在路线文件中有这个:

map.resource :account, :controller => "users", :except => [:show, :destroy]

让我非常接近,但是如何在根级别重新路由GET以便为我提供edit操作,而不必在网址中指定/edit

2 个答案:

答案 0 :(得分:0)

由于您的示例甚至没有提及ID,我会避免将其完全映射为资源,而是执行map.connect并指定您想要的每个路径。

答案 1 :(得分:0)

尝试:

map.connect '/account', :controller => "users", :action => "edit", :method => :get
map.resource :account, :controller => "users", :except => [:show, :destroy, :edit]