我有两个不相关的模型,说人和大厦。当应用程序收到像www.mysite.com/JohnDoe/EmpireState这样的网址时,我想显示名称为johnDoe的人的属性,以及名称为EmpireState的相同的名称。多个资源路由在轨道
我对路由部分有特别的困惑。我不确定是否需要创建可从数据库返回对象的页面控制器。我应该如何去做这件事?
我希望能像下面这样的东西?
match ':user_name/:building_name', :controller => pages
我有两个不相关的模型,说人和大厦。当应用程序收到像www.mysite.com/JohnDoe/EmpireState这样的网址时,我想显示名称为johnDoe的人的属性,以及名称为EmpireState的相同的名称。多个资源路由在轨道
我对路由部分有特别的困惑。我不确定是否需要创建可从数据库返回对象的页面控制器。我应该如何去做这件事?
我希望能像下面这样的东西?
match ':user_name/:building_name', :controller => pages
如果这两者不相关,则不应这样做。如果它们是相关的,我们称之为嵌套资源。
例子:
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
如果这两个型号是真正无关,你可能不应该将它们表示为单个资源(url)。 – 2012-01-17 17:22:17