¿Cómo limpio esta ruta de Rails anidada?
Frecuentes
Visto 114 veces
0
Tengo esta
devise_for :users
resources :sites do
resources :users
get 'companies/search'
end
root :to => "welcome#index"
end
y las rutas se ven asi
site_users GET /sites/:site_id/users(.:format) users#index
POST /sites/:site_id/users(.:format) users#create
new_site_user GET /sites/:site_id/users/new(.:format) users#new
edit_site_user GET /sites/:site_id/users/:id/edit(.:format) users#edit
site_user GET /sites/:site_id/users/:id(.:format) users#show
PUT /sites/:site_id/users/:id(.:format) users#update
DELETE /sites/:site_id/users/:id(.:format) users#destroy
site_companies_search GET /sites/:site_id/companies/search(.:format) sites/:site_id/companies#search
sites GET /sites(.:format) sites#index
POST /sites(.:format) sites#create
new_site GET /sites/new(.:format) sites#new
edit_site GET /sites/:id/edit(.:format) sites#edit
site GET /sites/:id(.:format) sites#show
PUT /sites/:id(.:format) sites#update
DELETE /sites/:id(.:format) sites#destroy
root / welcome#index
Pero quiero saber si hay una manera de tener las rutas como esta
site_users GET /:site_id/users(.:format) users#index
POST /:site_id/users(.:format) users#create
new_site_user GET /:site_id/users/new(.:format) users#new
edit_site_user GET /:site_id/users/:id/edit(.:format) users#edit
site_user GET /:site_id/users/:id(.:format) users#show
PUT /:site_id/users/:id(.:format) users#update
DELETE /:site_id/users/:id(.:format) users#destroy
Sin /sitios en la url, la url va de
/sites/some_name/users
/sites/some_name/users/new
a
/some_name/users
/some_name/users/new
eso limpiará la url si es posible
2 Respuestas
2
resources :sites do
get 'companies/search'
end
scope ':site_id' do
resources :users
end
root :to => "welcome#index"
contestado el 22 de mayo de 12 a las 21:05
1
Si desea poder usar esto además de los mecanismos de carga de recursos como los recursos heredados y tener su site
Acciones CRUD en /
, puedes dibujar tus rutas como:
resources :sites, :path => "" do
get 'companies/search'
resources :users
end
root :to => "welcome#index"
contestado el 22 de mayo de 12 a las 22:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas ruby-on-rails ruby ruby-on-rails-3 or haz tu propia pregunta.
¿Funcionaría esto de la misma manera que /sites/1/users o hay un comportamiento diferente? Matt Elhotiby
también puedo usar un nombre en lugar de una identificación ... así que tal vez una identificación amigable - Matt Elhotiby
Sí, un nombre constante funcionaría. Esta es la nueva forma de hacer prefijos de la aplicación Rails. Sabía que el alcance se podía usar con una cadena constante, y solo descubrí que funcionaría con un :id al buscarlo. - marlín perforar