Как правильно управлять ассоциациями Rails ActiveRecord? - PullRequest
1 голос
/ 17 апреля 2011

Я новичок в Rails, так что терпите меня ...

Я пытаюсь создать набор данных, относящихся к 2 различным моделям.В настоящее время у меня есть следующие модели:

class M < ActiveRecord::Base
 belongs_to :u
 belongs_to :s
end

class U < ActiveRecord::Base
 has_many :m
 has_many :s, :through => m:
end

class S < ActiveRecord::Base
 has_many :m
 has_many :u, :through => m;
end

В системе пользователь может создать много Us и Ss.Но при создании M он должен убедиться, что существует ссылка на «u» и «s».

Я знаю, что могу сделать следующее:

m1 = M.create()
u1.ms << m1
s1.ms << m1

Который имеетвсе соответствующие ссылки, есть ли лучший способ?

1 Ответ

0 голосов
/ 17 апреля 2011

Вы должны иметь возможность либо one_u.s = one_s, либо one_s.u = one_u.

. В соответствии с Руководства Rails , новые модели M будут управляться ActiveRecord.Вы можете просто установить атрибут как общую ассоциацию has_many, и вместе с ним будут созданы (и удалены) строки M.

...