2017-03-03 5 views
0

私は最終的にはモデルの新しいインスタンスComponentをもたらすajax POSTリクエストを作成するjavascriptフォームを持っています。これは完全に正常に動作します。お互いに依存する2つのモデルのインスタンスを作成する

ここでは、同じ形式でComponentモデルにユーザー入力キーワードを追加します。別のKeywordモデルを作成しました。問題は、Componentをフォームに入力した関連キーワードへの参照を使用して作成する場合です。入力したキーワードがすべて存在すると仮定するだけでは、参照を更新する前に処理する必要があります。つまり、どのキーワードがでなければ、がデータベースに格納されていることを確認してから、適切なキーワード参照を使用してComponentを作成することができます。

私の現在の考えのようなAJAXリクエストの成功コールバックにそれを処理することです:

$.ajax({ 
    method: 'POST', 
    data: {component:data}, 
    dataType:'JSON', 
    success: function(data) { 
    //handle it here... 


    }.bind(this), 
    error: function(data) { 

    }.bind(this) 
}) 

してから、キーワードを反復処理、まだ存在して、その後のすべてを追加していないキーワードを作成別のPOSTリクエストを使用してコンポーネントにキーワードを追加します。

これは妥当と思われますか、より良い方法がありますか?

答えて

1

find_or_create_byの方法を検討し、Componentコントローラ内のそれを使用して、まだ存在しないキーワードを作成することを検討します。

+0

これは認識していませんでした。ありがとうございました –

関連する問題