Ruby on rails 3 RubyonRails3-路由

Ruby on rails 3 RubyonRails3-路由,ruby-on-rails-3,resources,namespaces,routes,Ruby On Rails 3,Resources,Namespaces,Routes,我正在编写一个rails应用程序,遇到了一个路由问题 我的应用程序允许用户出于各种原因管理多个原因页面 现在,我正在尝试为用户建立管理屏幕来更新他们的站点 例如,原因页面可能看起来像: .com/causes/1 .com/causes/2 我希望管理员URL为: .com/causes/1/admin/updates .com/causes/2/admin/updates 等等 我将如何设置路线来执行此操作 我最初的想法是: namespace "admin" do resources

我正在编写一个rails应用程序,遇到了一个路由问题

我的应用程序允许用户出于各种原因管理多个原因页面

现在,我正在尝试为用户建立管理屏幕来更新他们的站点

例如,原因页面可能看起来像:

.com/causes/1
.com/causes/2
我希望管理员URL为:

.com/causes/1/admin/updates
.com/causes/2/admin/updates
等等

我将如何设置路线来执行此操作

我最初的想法是:

namespace "admin" do
  resources :updates
end

但是我怎样才能在前面加上cause/:id,这样我就可以把我正在更新的原因联系起来呢?

你需要一个管理控制器,你可以像这样设置你的路线:

resources :admin do
  #insert any resource you need to have admin pages on here
  resources :causes do
    resources :updates do
    end
  end
end

差不多吧。或者,您可以尝试一些rails管理宝石,以使您的生活更轻松,例如:

为什么不反转到admin/cause/1/updates的路由?这样你就可以有其他的管理员任务,而不是将管理员添加到几乎所有的控制器中。是的,这很有意义。不过,我该如何在我的路由中设置它呢?