私は顧客モデルと注文モデルを持っています。 顧客がmultuple注文を持つことができ、それらの間の接続にテーブルがそうcustomers_ordersです:条件を満たすときに接続テーブルからレコードを削除
Customer >> has_many: orders, :class_name => "CustomerOrders"
今日まで、私はすべての注文を削除するために
customer.orders.clear
を書きました。また、接続テーブルからレコードを削除しました。
この接続テーブルに列を追加しました。をblahと呼びます。 私は何とか列が特定の値を持っているので、私が試したときに、接続テーブルからレコードを削除する:
customer.orders.where("blah = 3").clear
しかし、それは動作しません。
なぜですか?そして私はそれをどのように扱うことができますか?
class CustomerOrders
belongs_to :customer
belongs_to :order
end
class Customer
has_many :customer_orders
has_many :orders, through: :customer_orders
end
あなたは、実際の受注、および接続の両方を取得し、両方を個別に対処することができますこの方法: