我有一个photo_albums控制器,但希望我在该控制器中的所有操作都使用localhost:3000 / settings / photo_gallery / .........而不是localhost:3000 / ...... ......我已经尝试过导游提出的建议但没有运气。有人可以帮帮我吗?
我想我可能需要将photo_albums控制器重命名为photo_galleries。
我是单独创建路线但是我必须有一种方法可以一次完成所有路线,因为它更快。
的routes.rb
scope '/settings/photo_gallery' do
resources :photo_albums
end
rake routes:
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"
答案 0 :(得分:2)
您可以使用:path选项。在你的情况下,它将是:
resources :photo_albums, :path => "/settings/photo_gallery"
:path
将修改资源的路径,而scope
会在前面添加前缀,您可以在rake路由输出中看到
请参阅http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing