(使用Rails 3)Rails 3 - 選擇不包含關聯模型的對象?
我有2個模型(Vehicle和Capabilities)通過關聯has_many。
所以車輛1能夠有能力1(例如牽引),能力2(例如乘客),3能力(例如飛行)等
v = Vehicle.first
v.capabilities.pluck(:name) #=> will give something like ['towing', 'passenger', 'flying']
我想找到它不能有所有車輛特殊能力,例如所有不能飛行的車輛。
我已經嘗試過類似下面的查詢,但它仍然包含飛行器,我認爲主要是因爲飛機也有其他功能。
non_flying = Vehicle.includes(:capabilities).where('capabilities.id NOT IN (?)', [2,3])
non_flying.first.capabilities.pluck(:name) #=> will give something like ['towing'].
請注意,飛行能力不包括在內,但我只是不希望這輛車返回。我怎麼寫這個?
如果可能,我寧願不使用meta_wheel或squeel gems,但除非有更簡單的解決方案,否則歡迎使用任何arel_table實現。