Ruby on Rails路由类似页面但不同的控制器

时间:2014-07-24 10:04:41

标签: ruby ruby-on-rails-3

我手动在我的路线文件上写字,以重定向一个'帖子'请求采取其他行动

无论如何将它们分成1-2行?

例如,在我的路线文件中,我有以下代码

post "/users/new" => "users#create"
post "/users/edit/:id" => "users#update"

post "/user_data/new" => "user_data#create"
post "/user_data/edit/:id" => "user_data#update"

post "/status/new" => "status#create"
post "/status/edit/:id" => "status#update"

这些只是少数几个,而且我有超过10个控制器使用这些线路来重定向“新”'将请求发布到'创建'行动和'编辑'发布请求更新'动作。

我一直在重复同一行,有没有办法创建像默认行一样的行:

  

match ':controller(/:action(/:id(.:format)))', :via => [:get, :post]

类似的东西:

match post :controller/new => ":controller#create"
match post :controller/edit/:id=> ":controller#update"

1 个答案:

答案 0 :(得分:0)

我想我在文档上找到了答案:

我使用的代码是:

  match ':controller(/new)' => '(:controller)#create', via: [:post]
  match ':controller(/edit(/:id))' => '(:controller)#update', via: [:post]

如果有人需要样品。