簡體   English   中英

是否可以將/ folder / sub_folder與ruby on rails中控制器的所有操作相匹配?

[英]Is it possible to match /folder/sub_folder to all actions of a controller in ruby on rails?

我有一個photo_albums控制器,但希望我在控制器中的所有操作都使用localhost:3000 / settings / photo_gallery / .........而不是localhost:3000 / .........我已經嘗試了指南所建議的並且沒有運氣。 有人可以幫幫我嗎?

我想我可能要將photo_albums控制器重命名為photo_galleries。

我正在單獨創建路線,但我必須有一種方法可以一次完成所有這些,因為它更快。

的routes.rb

  scope '/settings/photo_gallery' do
  resources :photo_albums
end 

耙路線:

users GET    /users(.:format)                                        {:action=>"index", :controller=>"users"}
                      POST   /users(.:format)                                        {:action=>"create", :controller=>"users"}
             new_user GET    /users/new(.:format)                                    {:action=>"new", :controller=>"users"}
            edit_user GET    /users/:id/edit(.:format)                               {:action=>"edit", :controller=>"users"}
                 user GET    /users/:id(.:format)                                    {:action=>"show", :controller=>"users"}
                      PUT    /users/:id(.:format)                                    {:action=>"update", :controller=>"users"}
                      DELETE /users/:id(.:format)                                    {:action=>"destroy", :controller=>"users"}
             sessions GET    /sessions(.:format)                                     {:action=>"index", :controller=>"sessions"}
                      POST   /sessions(.:format)                                     {:action=>"create", :controller=>"sessions"}
          new_session GET    /sessions/new(.:format)                                 {:action=>"new", :controller=>"sessions"}
         edit_session GET    /sessions/:id/edit(.:format)                            {:action=>"edit", :controller=>"sessions"}
              session GET    /sessions/:id(.:format)                                 {:action=>"show", :controller=>"sessions"}
                      PUT    /sessions/:id(.:format)                                 {:action=>"update", :controller=>"sessions"}
                      DELETE /sessions/:id(.:format)                                 {:action=>"destroy", :controller=>"sessions"}
            passwords GET    /passwords(.:format)                                    {:action=>"index", :controller=>"passwords"}
                      POST   /passwords(.:format)                                    {:action=>"create", :controller=>"passwords"}
         new_password GET    /passwords/new(.:format)                                {:action=>"new", :controller=>"passwords"}
        edit_password GET    /passwords/:id/edit(.:format)                           {:action=>"edit", :controller=>"passwords"}
             password GET    /passwords/:id(.:format)                                {:action=>"show", :controller=>"passwords"}
                      PUT    /passwords/:id(.:format)                                {:action=>"update", :controller=>"passwords"}
                      DELETE /passwords/:id(.:format)                                {:action=>"destroy", :controller=>"passwords"}
             profiles GET    /profiles(.:format)                                     {:action=>"index", :controller=>"profiles"}
                      POST   /profiles(.:format)                                     {:action=>"create", :controller=>"profiles"}
          new_profile GET    /profiles/new(.:format)                                 {:action=>"new", :controller=>"profiles"}
         edit_profile GET    /profiles/:id/edit(.:format)                            {:action=>"edit", :controller=>"profiles"}
              profile GET    /profiles/:id(.:format)                                 {:action=>"show", :controller=>"profiles"}
                      PUT    /profiles/:id(.:format)                                 {:action=>"update", :controller=>"profiles"}
                      DELETE /profiles/:id(.:format)                                 {:action=>"destroy", :controller=>"profiles"}
               emails GET    /emails(.:format)                                       {:action=>"index", :controller=>"emails"}
                      POST   /emails(.:format)                                       {:action=>"create", :controller=>"emails"}
            new_email GET    /emails/new(.:format)                                   {:action=>"new", :controller=>"emails"}
           edit_email GET    /emails/:id/edit(.:format)                              {:action=>"edit", :controller=>"emails"}
                email GET    /emails/:id(.:format)                                   {:action=>"show", :controller=>"emails"}
                      PUT    /emails/:id(.:format)                                   {:action=>"update", :controller=>"emails"}
                      DELETE /emails/:id(.:format)                                   {:action=>"destroy", :controller=>"emails"}
               photos GET    /settings/photo_gallery/photos(.:format)                {:action=>"index", :controller=>"photos"}
                      POST   /settings/photo_gallery/photos(.:format)                {:action=>"create", :controller=>"photos"}
            new_photo GET    /settings/photo_gallery/photos/new(.:format)            {:action=>"new", :controller=>"photos"}
           edit_photo GET    /settings/photo_gallery/photos/:id/edit(.:format)       {:action=>"edit", :controller=>"photos"}
                photo GET    /settings/photo_gallery/photos/:id(.:format)            {:action=>"show", :controller=>"photos"}
                      PUT    /settings/photo_gallery/photos/:id(.:format)            {:action=>"update", :controller=>"photos"}
                      DELETE /settings/photo_gallery/photos/:id(.:format)            {:action=>"destroy", :controller=>"photos"}
         photo_albums GET    /settings/photo_gallery/photo_albums(.:format)          {:action=>"index", :controller=>"photo_albums"}
                      POST   /settings/photo_gallery/photo_albums(.:format)          {:action=>"create", :controller=>"photo_albums"}
      new_photo_album GET    /settings/photo_gallery/photo_albums/new(.:format)      {:action=>"new", :controller=>"photo_albums"}
     edit_photo_album GET    /settings/photo_gallery/photo_albums/:id/edit(.:format) {:action=>"edit", :controller=>"photo_albums"}
          photo_album GET    /settings/photo_gallery/photo_albums/:id(.:format)      {:action=>"show", :controller=>"photo_albums"}
                      PUT    /settings/photo_gallery/photo_albums/:id(.:format)      {:action=>"update", :controller=>"photo_albums"}
                      DELETE /settings/photo_gallery/photo_albums/:id(.:format)      {:action=>"destroy", :controller=>"photo_albums"}
                      GET    /photos(.:format)                                       {:action=>"index", :controller=>"photos"}
                      POST   /photos(.:format)                                       {:action=>"create", :controller=>"photos"}
                      GET    /photos/new(.:format)                                   {:action=>"new", :controller=>"photos"}
                      GET    /photos/:id/edit(.:format)                              {:action=>"edit", :controller=>"photos"}
                      GET    /photos/:id(.:format)                                   {:action=>"show", :controller=>"photos"}
                      PUT    /photos/:id(.:format)                                   {:action=>"update", :controller=>"photos"}
                      DELETE /photos/:id(.:format)                                   {:action=>"destroy", :controller=>"photos"}
                 root        /                                                       {:controller=>"users", :action=>"new"}
              success        /success(.:format)                                      {:action=>"success", :controller=>"users"}
                login        /login(.:format)                                        {:action=>"new", :controller=>"sessions"}
               logout        /logout(.:format)                                       {:action=>"destroy", :controller=>"sessions"}
       reset_password        /reset_password(.:format)                               {:action=>"new", :controller=>"passwords"}
   setup_new_password        /setup_new_password(.:format)                           {:action=>"edit", :controller=>"passwords"}
             settings        /settings(.:format)                                     {:action=>"settings", :controller=>"users"}
     settings_account        /settings/account(.:format)                             {:controller=>"users", :action=>"account"}
settings_edit_profile        /settings/edit_profile(.:format)                        {:controller=>"profiles", :action=>"edit_profile"}
                             /:username(.:format)                                    {:controller=>"users", :action=>"show"}
      change_password        /change_password(.:format)                              {:action=>"change_password", :controller=>"users"}

錯誤:

Routing Error

    No route matches [GET] "/settings/photo_gallery"

您可以使用:path選項。 在你的情況下,它將是:

resources :photo_albums, :path => "/settings/photo_gallery"

:path將修改資源的路徑,而scope在前面添加前綴,您可以在rake路由輸出中看到

請參閱http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM