ハイガイ。これは、私が思っているように動作していないため、間違っていることを意味します。
class Tag < ActiveRecord::Base
has_and_belongs_to_many :properties
end
class Property < ActiveRecord::Base
has_and_belongs_to_many :tags
def amenities
tags.where(:classification => :amenity)
end
end
だから私はプロパティとタグを持っています。それらは、ピボットテーブルとHABTMの関係にあります。
.tags
プロパティに対してを実行すると、完全なリストが取得.clear
され、その完全なリストに対して実行すると、データベースから関連付けが正しく削除されます。
.amenities
アメニティの分類で正しくフラグが付けられたタグのみを取得しますが、これら.clear
の結果に対してを実行すると、それらを削除できず.amenities
、コンソールで.の出力を使用してクエリを再度実行します[]
。
つまり、これは.clear
結果の配列を単に'していることを意味します。私が実際に望んでいる関連付けではありません。
したがって、問題は次のとおりです。どのアソシエーションが削除されるかを制限.clear
する句を本質的に与えながら、HABTM関係からアソシエーションへの正しい方法は何ですか?where
みんなありがとう。それがあまり混乱していなかったことを願っています。