2011-07-29 61 views
5

我一直在尋找一段時間,但我似乎無法弄清楚這是否可能。 我需要的是兩個不同路徑的控制器。多個路線的一個控制器

我有一個模型,有兩種類型:自己和兼容。

所以,我想是這樣的兩條路徑,去既一個控制器:

example.com/hotels 

example.com/compatitives 

這些必須的資源,並有將是很多在這些線路築巢。 所以我不想爲它們都創建資源映射。

我已經嘗試過這樣的:

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 

但控制器不hotels_controller兩種。

這甚至可能嗎?

謝謝!

+1

什麼是 「compatitives」?另外,請從您的問題中刪除您的修改,並將其作爲回答發佈,以便您可以接受並「關閉」此問題。在Stack Overflow上回答自己的問題是完全可以接受的,但是你必須發佈答案,而不是僅僅修改問題來包含答案。 – meagar

+0

嘿嘿,就在這篇文章後,我發現它必須是競爭對手..我是荷蘭人,所以不太熟悉正確的拼寫..我已經回答了這個問題,謝謝指出。 –

回答

1

得到了它的這種解決方案的工作:

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