Rails 4:嵌套资源,更改URI但不更改控制器

时间:2016-05-13 16:24:00

标签: ruby-on-rails

我正在尝试将我的任务放入我的仪表板/管理员路线,例如而不是todos /,todos / new等。我想要仪表板/待办事项/,仪表板/待办事项/新等等。

我试图在这里这样做;

namespace :dashboard do
  resources :todos
end

虽然这也改变了我不想要的控制器 - 我只想将待办事项嵌入仪表板控制器内

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:1)

如果您想将/admin/todos路由到TodosController,可以使用scope代替namespace

scope '/admin' do
  resources :todos
end

您可以查看有关此点的rails文档:http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing

答案 1 :(得分:1)

您可以按照Rails Guides

中的说明使用scopepath
scope '/dashboard' do
  resources :todos
end

<强>

resources :todos, path: '/dashboard/todos'

这将生成路径/dashboard/todos的路线,该路线映射到todos_controller