我有两个应用程序,App1 和 App2。App1 向 App2 发布一个 JSON 有效负载,其中包括父对象和子对象的数据。如果父对象已经存在于 App2 中,那么我们更新父记录(如果有任何更改)并在 App2 中创建子记录。如果App2中不存在父对象,我们需要先创建它,然后再创建子对象,并将两者关联起来。现在我正在这样做:
class ChildController
def create
@child = Child.find_or_initialize_by_some_id(params[:child][:some_id])
@child.parent = Parent.create_or_update(params[:parent])
if @child.update_attributes(params[:child])
do_something
else
render :json => @child.errors, :status => 500
end
end
end
像这样创建/更新父级感觉有些脏。有没有更好的方法来解决这个问题?谢谢!