2012-10-03 61 views
0

我們有兩個型號,地區和商店,這是我們要跑出相同的路徑:www.mysite.com/the_name_of_the_thing_here的Rails 3.1多個控制器的一個路徑

我們希望做的是經過區域表格顯示區域頁面,如果不匹配,則通過商店表格顯示商店頁面。我們不太確定把邏輯放在哪裏(在區域控制器中?)以及如何切換控制器。有任何想法嗎?

感謝

回答

1

我認爲你可以使用該控制器的動作,像

@area = Area.find_by_name(params[:name]) 
@store = Store.find_by_name(params[:name]) 
if @area 
    redirect_to area_path(@area) 
elsif @store 
    redirect_to store_path(@store) 
else 
    redirect_to help_url 
end 

的東西,如果你想改變的內容只會讓您在其中定義變量其他控制器的方法:

@thing = Area.find_by_name(params[:name]) || Store.find_by_name(params[:name]) 

並通過它查看

<%= thing.name %> 
+0

嗨亞歷克斯,謝謝你。一個問題:如果路徑是完全相同的,這會不會在循環中結束? – user1051849

+0

看到更新.... – alex

+0

嘿又。不幸的是,這需要應用程序重定向到每個模型的不同路徑。我想這樣做沒有重定向...我需要它檢查「the_name_of_the_thing_here」對第一個模型,然後服務該模型的視圖,如果有匹配,或者如果匹配只是第二個模型服務於第二個模型的視圖.. – user1051849