新对象活动记录的发布列表

时间:2016-01-05 04:55:23

标签: ruby-on-rails activerecord

我正在尝试限制对rails API的调用次数。我希望能够将对象列表发送到此端点,而不是每个对象调用一次api。我有以下关系:

Parent: - > has_and_belongs_to_many Children

Child: - > has_and_belongs_to_many Parents,需要parent,并且需要hobby

Hobby: - > hobby_namerank:int

假设我想要一个端点/parents/:id/children。我如何传递一个子/爱好列表并创建所有这些(或者没有)管理has_and_belongs_to_many和嵌套属性。在进行Child.create([{attrs}])时,我没有看到如何将孩子与父母联系起来。

1 个答案:

答案 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