Из того, что я вижу, это можно легко сделать, используя has_and_belongs_to_many
ассоциацию
. Вам следует установить отношение has_many :through
, если вам нужно работать с моделью отношений как с независимой сущностью.Если вам не нужно ничего делать с моделью отношений, что, вероятно, имеет место, может быть проще установить has_and_belongs_to_many
отношение
, вот как вы выполняете HABTM:
class Picture < ActiveRecord::Base
has_and_belongs_to_many :battles
end
и
class Battle < ActiveRecord::Base
has_and_belongs_to_many :pictures
end
, затем вы можете позвонить picture.battles
и battle.pictures
, вам также потребуется создать новую миграцию, которая выглядит следующим образом
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
подробнее здесь