App1とApp2の2つのアプリケーションがあります。App1は、親オブジェクトと子オブジェクトのデータを含むJSONペイロードをApp2に送信します。親オブジェクトがすでにApp2に存在する場合、何かが変更された場合は親レコードを更新し、App2に子レコードを作成します。親オブジェクトがApp2に存在しない場合は、最初にそれを作成し、次に子オブジェクトを作成して2つを関連付ける必要があります。今、私はこのようにやっています:
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
そのような親の作成/更新について何か汚い感じがします。これについてもっと良い方法はありますか?ありがとう!