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