namespace
namespace :admin do
resources :posts
end
默认对应:
# 中间层 helper 方法 # 最外层网址 # 最里层 Controller#action
admin_posts GET /admin/posts(.:format) admin/posts#index
admin_posts POST /admin/posts(.:format) admin/posts#create
new_admin_post GET /admin/posts/new(.:format) admin/posts#new
edit_admin_post GET /admin/posts/:id/edit(.:format) admin/posts#edit
admin_post GET /admin/posts/:id(.:format) admin/posts#show
admin_post PATCH/PUT /admin/posts/:id(.:format) admin/posts#update
admin_post DELETE /admin/posts/:id(.:format) admin/posts#destroy
1) 使用 :path
更改最外层网址:
# 使用 /sekret/posts 而不是 /admin/posts
namespace :admin, path: "sekret" do
resources :posts
end
2) 使用 :module
更改最里层 Controller#action:
# 使用 Sekret::PostsController 而不是 Admin::PostsController
namespace :admin, module: "sekret" do
resources :posts
end
3) 使用 :as
更改中间层 helper 方法:
# 使用 sekret_posts_path 而不是 admin_posts_path
namespace :admin, as: "sekret" do
resources :posts
end
4) 此外:
namespace "admin" do
resources :kks
end
# 等价于
scope module: "admin", path: "/admin", as: "admin" do
resources :kks
end
最后更新于