Rails has_many / belongs_to协会

时间:2017-03-08 19:05:08

标签: ruby-on-rails associations has-many-through has-many

使用has_many belongs_to或任何关联:

  1. 首先创建两个模型的哪个对象是否重要?
  2. 是否有一个约定,哪个应该首先创建?

3 个答案:

答案 0 :(得分:1)

不,首先创建哪一个并不重要,因为Rails会为您解决正确的顺序。

如果是belongs_to / has_one关联

class Parent < ActiveRecord::Base
  has_many :children
end

class Children < ActiveRecord::Base
  belongs_to :parent
end

p = Parent.new(name: 'Jhon')
p.children << Children.new
p.save
(0.3ms)  BEGIN
 SQL (27.1ms)  INSERT INTO `parents` (`name`) VALUES ('Jhon')
 SQL (23.1ms)  INSERT INTO `childrens` (`parent_id`) VALUES (7842)
(95.0ms)  COMMIT

答案 1 :(得分:0)

在创建表格之后,在模型中设置关系。因此,创建实际表格的顺序并不重要。

我通常会先创建两个更多的主导,比如创建User,然后再创建任何关系。但同样,没有任何理由要求创建它们。

答案 2 :(得分:-1)

你在谈论一对多关系。

Parent has_many ChildrenChild belongs_to Parent