0

我想在资源成员上创建一个资源丰富的路由,但我似乎找不到创建我想要的命名路由的语法。

namespace :admin
  resources :foobars do
    get :attribute, on: :member, as: :attribute
  end
end

这将提供一个名为的路由方法:

attribute_admin_foobar_path

我想说:

admin_foobar_attribute_path

我能想到的唯一其他方法是拒绝该resources块并创建一条路线:

namespace :admin
  resources :foobars
  get 'foobars/:id/attribute', as: :foobar_attribute
end

但是,我不喜欢这种方法,因为它迫使我复制现有路由的路由结构......不是很干。

resources有没有一种方法可以在仍然使用路由块的同时创建我想要的路由名称?

4

1 回答 1

0

如果你这样做:

  namespace :admin do
    resources :foobars do
      get :attribute
    end
  end

你会得到:

admin_foobar_attribute GET /admin/foobars/:foobar_id/attribute(.:format)                    admin/foobars#attribute

那就是admin_foobar_attribute_path

于 2013-10-25T21:21:15.857 回答