2012-01-17 109 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