2012-01-17 136 views
0

我有兩個不相關的模型,說大廈。當應用程序收到像www.mysite.com/JohnDoe/EmpireState這樣的網址時,我想顯示名稱爲johnDoe的人的屬性,以及名稱爲EmpireState的相同的名稱。多個資源路由在軌道

我對路由部分有特別的困惑。我不確定是否需要創建可從數據庫返回對象的頁面控制器。我應該如何去做這件事?

我希望能像下面這樣的東西?

match ':user_name/:building_name', :controller => pages 
+1

如果這兩個型號是真正無關,你可能不應該將它們表示爲單個資源(url)。 – 2012-01-17 17:22:17

回答

0

如果這兩者不相關,則不應這樣做。如果它們是相關的,我們稱之爲嵌套資源。

例子:

resources :projecs do 
    resources :tasks 
end 

樣品URL: 「/項目/ 12 /任務/ 1281」

編輯: 如果他們不相關(摘自我的意見):

在您的BuildingsController中,您也可以獲取父級信息。如果你在你的問題使用匹配的路由,你必須PARAMS [:USER_NAME],而params [:building_name]可用,並且可以獲取你想要跟他們什麼...

Building.find_by_name(params[:building_name]) # return all Buildings based on URL param 
+0

是的,謝謝澄清,我已經閱讀了Rails站點上的路由指南,但仍然沒有看到與Id喜歡做什麼相關的任何事情。這主要是爲了虛榮的URL,但我會認爲它是可能的。 – 2012-01-17 19:11:01

+0

「虛榮網址」是什麼意思? – jipiboily 2012-01-17 19:18:36

+0

一切皆有可能......您想要在第一級時顯示建築物的頁面,並且在第一級時要顯示建築物的頁面? – jipiboily 2012-01-17 19:20:09