0

我是 Rails 新手,对如何最好地路由我的特定应用程序有疑问。我正在使用旧数据库,因此架构已经设置好并且使事情变得有点复杂。该应用程序的布局包括一个顶部导航栏,其中包含“用户”,然后对于特定的“用户”,还有另一个导航栏来显示/编辑各种表单。例如,一旦查询特定的“用户”,“一般信息”和“帐户信息”等就会有单独的表格。

我现在的设置是有一个“用户”命名空间来对应顶级导航,并且在命名空间中有第二级导航:“一般”、“项目”等。通过这个设置,每个表单都从第二个中选择导航级别有自己的控制器,这似乎有点奇怪。

  namespace :users do
    resources :general, :project
  end

这使我可以拥有以下网址,其中 :id 属于“用户”

/users/general/:id
/users/general/:id/edit
/users/account/:id
/users/account/:id/edit

这看起来是否合理,或者是否有人对如何以 RESTful 方式处理嵌套导航设置有任何其他想法?遗留数据库很复杂,因为我没有“通用”、“帐户”模型或数据库表。对于每个表单,我需要从与“用户”模型关联的几个模型/表中提取。拥有一个“通用”控制器而没有一个“通用”模型似乎并不像这让我感到困扰的那样。

4

1 回答 1

0

您正朝着正确的方向前进,但是,名称空间不会帮助您维护您正在寻找的关联。相反,我会试试这个:

resources :users do
  resources :general, :project
end

我还建议您查看Rails 路由指南

于 2012-05-06T20:54:01.250 回答