2011-07-29 15 views
5

私はしばらく検索してきましたが、これが可能なのかどうかはわかりません。 私が必要とするのは、2つの異なるパスの1つのコントローラです。複数のルートを1つのコントローラ

私が持っているものは、自分と相性の2つのタイプの1つのモデルです。

は、だから私は何をしたいのコントローラの両方を行くこのような二つの経路、次のとおりです。これらのリソースである必要はあり

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

Hehe、この投稿の直後、私はそれが競争相手でなければならないことがわかりました。私はオランダですので、正しいスペルをよく知らないです。私は質問に答えました。 –

答えて

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 
関連する問題