私は私の問題を解決しましたが、なぜこれが起きているのかはわかりません。これは奇妙なバグですか?.all.lengthと.length in before_create - クレイジーな動作!誰かがこれを説明できますか?
私はメンバーシップモデルでアクションを作成する前に持っています。
メンバーシップは組織に所属できます。組織has_manyメンバーシップ。
before_create :check_payment_plan
それから私はcheck_payment_plan方法でいくつかのロジックを持っています。それは無関係です。誰かがのインスタンスを持っている場合、将来の参考のためにそう
def check_payment_plan
puts self.organization.memberships.all.length
end
**The membership is created.**
:メソッドがどのように見えるとき
def check_payment_plan
puts self.organization.memberships.length
end
**The membership is not created.**
:メソッドがどのように見えるとき
:私は、次の行動を発見してきたようにbefore_filterチェックでモデルが作成されていないことを確認します。上記のパターンに従うと、.all.lengthが利用されます。
これはなぜ起こっているのか説明できますか?
あなたは '**メンバーシップは作成されていません。**' 'あなたは' self.organization.memberships.length'に基づいて何をしていますか? –
カウント/長さはどのようにモデルを作成しますか? –