我解決了我的問題,但我有0個想法,爲什麼發生這種奇怪的錯誤?.all.length與before_create中的長度 - 瘋狂行爲!?有人可以解釋這個嗎?
我在我的會員模型中有一個before create動作。
成員資格可以屬於組織。組織has_many成員資格。
before_create :check_payment_plan
然後我在check_payment_plan方法中的一些邏輯。它所做的是無關緊要的。正如我發現以下行爲:
當方法是這樣的:
def check_payment_plan
puts self.organization.memberships.length
end
**The membership is not created.**
當方法是這樣的:如果有人爲的情況下
def check_payment_plan
puts self.organization.memberships.all.length
end
**The membership is created.**
所以,以供將來參考模型不會在before_filter中創建,如果遵循上述模式,則會使用.all.length。
任何人都可以解釋爲什麼這是發生?!
你是什麼意思**沒有創建成員。**'你在做什麼'self.organization.memberships.length'? –
計數/長度如何創建模型? –