0

我有两个模型;团队和项目。我正在尝试创建的应用程序允许团队创建一个新项目。有时,一个团队可以与另一个团队进行联合项目。

那么我应该在它们之间使用什么正确的关联呢?现在,我有

团队.rb

has_many :projects

项目.rb

belongs_to :team

我不确定“has_and_belongs_to_many”关联是否会起作用,因为RoR 指南使用两个模型加上一个弱模型

4

1 回答 1

0

如果您还像这样创建连接表,则可以将 has_and_belongs_to_many 关联与两个模型一起使用:

class AddTeamsProjectsJoinTable < ActiveRecord::Migration
  def self.up
    create_table :teams_projects, :id => false do |t|
    t.integer :teams_id
    t.integer :projects_id
  end
end

  def self.down
    drop_table :teams_projects
  end
end

然后在你的模型中:

团队.rb

has_and_belongs_to_many :projects

项目.rb

has_and_belongs_to_many :teams

然后您可以使用@team.projects 访问一个团队的所有项目,或者使用@project.teams 访问一个项目的所有团队

于 2012-07-25T01:18:03.173 回答