Tengo un modelo llamado Spaces
que tiene diferentes tipos de lugares ... como bares, restaurantes, etc. Tiene las mismas columnas, mismo, modelo, controlador, etc. sin ITS de lujo, solo tengo un campo llamado Space_type
que me gustaría determinar una ruta con alias.raíles alias de enrutamiento
En lugar de domain.com/spaces/12345
sería /bars/12345
o /clubs/12345
Actualmente tengo:
resources :spaces do
collection do
get :update_availables
get :update_search
get :autocomplete
end
member do
post :publish
post :scrape
end
resources :photos do
collection do
put :sort
end
end
resources :reviews
end
Además, ¿Hay alguna manera de hacer esto para que en cualquier momento utilizo el space_url puede averiguar qué uno para usar?
no "/: space_type /: id",: a => "espacios # show",: as =>: space_type interferir con el resto de mis controladores sin relación con los espacios? – holden
No, no lo hará. Acerca de STI, enlace y salida de rutas: http://stackoverflow.com/questions/5246767/sti-one-controller/5252136#5252136 – fl00r
Debe asegurarse de que "/: space_type /: id" esté por debajo de su otro nivel superior declaraciones de recursos en config/routes.rb para que esto no interfiera. Los raíles siempre pueden enrutarse, pero si declara un "recurso: waffles" debajo del emparejador personalizado, alguien puede navegar a "/ waffles/1234" y lo encaminará al controlador de espacios como un tipo de waffle. –