2016-11-15 6 views
0

私はレールAPIを作成しています。私は、多対多の関係を持つ2つのオブジェクトを持っています。私のAPIは、IDの追加、変更、削除ができる必要があります。例えば、私がobjectbコントローラのupdateメソッドを呼び出すとき。それはobjectaの新しいリストを受け入れ、持続しなければなりません。これを行う正しい方法は何ですか?コントローラの更新メソッドで多対多の関係

class objectb < ActiveRecord::Base 
    has_and_belongs_to_many :objecta 
end 


class objecta < ActiveRecord::Base 
    has_and_belongs_to_many :objectb 
end 

私は標準的な方法はupdateコントローラの多くの関係に多くを管理しているされて何objecta.objectb.create(ObjectB.find(:object_id))

を行うことで関係を作成後、IDの配列を受け入れることを考えていましたか?

答えて

3

あなたはObjectAに

に答えて
objecta.objectbs << ObjectB.find(:objectb_id) 
+0

感謝をObjectBに追加したい場合は

objecta.objectbs = [ObjectB.find(:objectb_id)] 

を上書きしたい場合は、この方法

それを達成することができます。後で 'objecta.save'を呼び出す必要がありますか? – Decrypter

+0

いいえ、あなたはその必要はありません –