我正在尝试限制对rails API的调用次数。我希望能够将对象列表发送到此端点,而不是每个对象调用一次api。我有以下关系:
Parent
: - > has_and_belongs_to_many Children
Child
: - > has_and_belongs_to_many Parents
,需要parent
,并且需要hobby
Hobby
: - > hobby_name
,rank
:int
假设我想要一个端点/parents/:id/children
。我如何传递一个子/爱好列表并创建所有这些(或者没有)管理has_and_belongs_to_many和嵌套属性。在进行Child.create([{attrs}])
时,我没有看到如何将孩子与父母联系起来。
答案 0 :(得分:1)
让我们举一个例子json:
# POST parent/1/children
{
children: [
{
attr1: 1,
attr2: 2,
...
},
{
attr1: 1,
attr2: 2,
...
}
]
}
可以通过这样的循环来实现:
parent = Parent.find(params[:id])
params[:children].each do |child_params|
parent.children.create(child_params)
end