クライアントから、他のオブジェクトに関連するオブジェクトを送信しています:
変数データ = {
「コメント」: 結果.コメント,
"ドキュメント": {
"id": 結果.doc.id
}
"サイト": {
"url": result.site.url
}
};
$.ajax({
URL: '/データ',
タイプ: 'POST',
データ: データ
});
/dataこれは私のコントローラーに投稿されます。メソッドにはcreate、次のコード ブロックがあります。
デフォルト作成
@data = Data.new(params[:data])
@data.user_id = current_user.id
Respond_to do |フォーマット|
@data.save の場合
@doc = Doc.find_or_create_by_id(params[:doc])
@doc.save
@site = Site.new(params[:site])
@site.doc_id = @doc.id
@site.save
format.html //もの
format.json //もの
format.js //もの
終わり
終わり
この問題に正しく取り組んでいるかどうか、私は興味があります。私が持っているような関連オブジェクトの場合、コントローラーはかなり「重い」ようです。
この問題に対する他の解決策はありますか?
編集:
データ・モデル:
クラスデータ 所属先 :site, :polymorphic => true 所属先:ユーザー 終わり