管理Rails ActiveRecord关联的正确方法是什么?

时间:2011-04-17 07:28:55

标签: ruby-on-rails activerecord associations referential-integrity

我是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 :(得分:0)

您应该可以执行one_u.s = one_sone_s.u = one_u

根据the Rails Guides,新的M模型将由ActiveRecord管理。您可以将属性设置为常见的has_many关联,并且M行将与其一起创建(和删除)。