Rails 3路由和模型设置

时间:2011-12-06 14:47:52

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

只是想知道最佳做法是做什么。

我有两个型号

Group
  id    int pk
  name  string

Company
  id   int pk
  name string

组实例可以有零个或多个公司实例

公司实例可以有零个或多个组实例

验证公司不能多次属于同一组

使用has_and_belongs_to_many关联(没有介入模型)?

使用has_many:through(设置组织模型)?

我想将宁静的观点设置为:

Group
/groups     (Show All Group Names)
/groups/1   (Show one group)
/groups/new (Add Group)
etc...


Companies
/companies/1 (show all companies)
/companies/1 (Show company)
/companies/new (Add Company)
etc...

我试图解决的问题是如何使用模型设置以下视图?

(Show all companies for a specified group) /groups/1/companies ??
(Add, update and remove companies for a specified group ?!)

1 个答案:

答案 0 :(得分:2)

您想使用nested routes

e.g。写在routes.rb文件

  resources :groups do 
    resources :companies
  end

然后在你的模型中,一家公司属于一个集团,一个集团拥有多家公司。

请务必查看guides以获取有关路由的更多信息。