让我们有一个称为的父对象Parent
和一个名为的嵌套对象Kid
。
parent.rb:
class Parent < ApplicationRecord
has_many :kids, dependent: :delete_all
end
kid.rb:
class Kid < ApplicationRecord
belongs_to :parent
end
我有一个ID为5的父对象,我想为其创建一个Kid
对象。
明确指定其父对象ID时,ruby表达式的外观如何?首先想到的以下表达式不起作用:
5.kids.create(Name: "John)
您有2种方法
Kid.create(parent_id: 5, name: "John")
如果parent
数据库中没有id = 5,这将引发错误。
Parent.find_by(id: 5)&.kids&.create(name: "John")
这将执行2条SQL语句,获取父级(id = 5),然后插入一个孩子。
如果找不到父母,则不会创建孩子。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句