1
我有這種關聯在Rails 3.2的應用程序的Project
型號:覆蓋ActiveRecord的關聯條件
has_many :pledges, conditions: { paid: true }
在一個地方,我需要所有未付認捐。除了兩個明顯的解決方案(定義與paid: false
條件的另一個關聯或找到承諾Pledge.where...
)之外,是否有可能立即放棄條件?類似
東西:
project.pledges.unscoped.where(paid: false) # does not work since the link to project is also lost
project.pledges.where(paid: false) # no good since it does "paid=t AND paid=f"
不太什麼我要找的。模型中的條件是確保始終支付承諾。有一種安全措施可以在那裏執行。 – svoop
增加了一個替代方案,不知道如何做到這一點,而不訴諸'Pledge.where(...)'。刪除協會的範圍,而不刪除協會本身是不可能的在軌道 – Slicedpan
Woops,你建議在你的問題的替代!無論如何,[這裏](http://stackoverflow.com/questions/3963124/default-scope-and-associations)一個類似的問題,還有另一種方式,'Pledge.unscoped {product.pledges}'我認爲是等效的 – Slicedpan