Ruby on rails 将一个模型关联到两个不同的模型?

Ruby on rails 将一个模型关联到两个不同的模型?,ruby-on-rails,ruby,Ruby On Rails,Ruby,嘿,伙计们。我正试图建立这个图片战斗网站,(在那里你选择了你喜欢的图片),我有两个模型。照片,和战斗 所以每张图片都有很多战斗,但每一场战斗都属于两张图片。我怎么把它联系起来。。我在想“属于很多人”之类的话,但显然这是不存在的。这是一种多对多的关联。您可以通过连接模型来实现它。检查API文档据我所知,通过使用has\u和\u-allown\u-many关联可以轻松完成这项工作 如果您需要作为独立实体使用关系模型,则应建立一个has_many:through关系。如果您不需要对关系模型执行任何操作

嘿,伙计们。我正试图建立这个图片战斗网站,(在那里你选择了你喜欢的图片),我有两个模型。照片,和战斗


所以每张图片都有很多战斗,但每一场战斗都属于两张图片。我怎么把它联系起来。。我在想“属于很多人”之类的话,但显然这是不存在的。

这是一种多对多的关联。您可以通过连接模型来实现它。检查API文档

据我所知,通过使用
has\u和\u-allown\u-many
关联可以轻松完成这项工作

如果您需要作为独立实体使用关系模型,则应建立一个
has_many:through
关系。如果您不需要对关系模型执行任何操作(可能是这种情况),那么设置
has\u和\u-belish\u-to\u-many
关系可能会更简单

以下是您如何进行HABTM的:

class Picture < ActiveRecord::Base
  has_and_belongs_to_many :battles
end
更多信息

class Battle < ActiveRecord::Base
  has_and_belongs_to_many :pictures
end
class CreateBattlesPicturesJoinTable < ActiveRecord::Migration
  def self.up
    create_table :battles_pictures, :id => false do |t|
      t.integer :battle_id
      t.integer :picture_id
    end
  end

  def self.down
    drop_table :battles_pictures
  end
end