2011-07-29 17 views
5

He estado buscando por un tiempo, pero parece que no puedo averiguar si esto es posible. Lo que necesito es un controlador para dos rutas diferentes.Un controlador para múltiples rutas

Lo que tengo es un modelo, con dos tipos: propio y compatible.

Así que lo que quiero es dos caminos de este tipo, que van tanto a un controlador:

example.com/hotels 

example.com/compatitives 

Estos tienen que ser los recursos, y no va a haber un montón de anidación en estas rutas. Así que no quiero crear una asignación de recursos para ambos.

ya he intentado esto:

resources :hotels, :compatitives, :controller => :hotels do 

    resources :rooms do 
    collection do 
     match "/search", :action => :search 
    end 
    end 

    collection do 
    match "/search" 
    match "/results/:type/:id(/:page)", :action => :results 
    end 

end 

resources :prices do 
    collection do 
    match "/check" 
    end 
end 

Sin embargo, el controlador no está hotels_controller para ambos.

¿Esto es posible?

Gracias!

+1

Qué son los "compatitives"? Además, elimine la edición de su pregunta y publíquela como respuesta para que pueda aceptarla y "cerrar" esta pregunta. Es completamente aceptable responder sus propias preguntas sobre Desbordamiento de pila, pero tiene que publicar la respuesta, no solo modificar la pregunta para incluir la respuesta. – meagar

+0

Jeje, justo después de esta publicación descubrí que tenían que ser competidores .. Soy holandés, por lo que no estoy muy familiarizado con la ortografía correcta. He respondido la pregunta, gracias por señalarlo ... –

Respuesta

1

tengo que trabajar con esta solución:

def add_hotel_collection 
    resources :rooms do 
    collection do 
     match "/search", :action => :search 
    end 
    end 
    collection do 
    match "/search", :action => :search 
    match "/results/:type/:id(/:page)", :action => :results 
    end 
end 

resources :hotels do 
    add_hotel_collection 
end 

resources :compatitives, :controller => :hotels do 
    add_hotel_collection 
end 
Cuestiones relacionadas