32

私はこれを持っています(契約とアクセサリはhas_and_belongs_to_manyに関連付けられています):

# Get the contract and specific accessory based on params
@contract  = Contract.find(params[:id])
@accessory = @contract.accessories.find(params[:accessory_id])

今、私はその特定のアクセサリを@contractから削除したいと思っています。DBからレコードを削除したくはありませんが、単に2つの間の関連付けを削除したいだけです。

これを行うための手ごわい方法は何ですか?

ありがとう!

4

1 に答える 1

63

これはどう:

@contract.accessories.delete(@accessory)

参照:アイテム自体を削除せずに、単一のHABTM関連アイテムを削除するにはどうすればよいですか?

于 2012-08-19T03:18:57.683 に答える