何らかの理由で、単純なpiece of decorator-codeが本番マシンでは失敗しますが、開発では正常に動作します[1]。 attribute_foo =(bar)の呼び出しで、カスタムコードを呼び出してバーを変更します
は、私はそれをダウン易しく書き直され、次は、最も単純な失敗作品であることがわかった:確かに、関数が呼び出され続ける、ということを私に示してSpree::Variant.class_eval do
def price=(value)
self.price = normalize_number(value)
end
end
SystemStackError (stack level too deep):
デバッグに失敗します。 self.price = price price =を呼び出します。
これに対処するための通常のRails/Rubyパターンは何ですか?私が欲しいのは
が呼び出されたときにカスタムコードにデリゲートして、カスタムコードの小さな部分を渡したbar
を実行できます。次に、変更されたbar
をattribute_fooに割り当てます。
[1]: 唯一の違いは、Rubyパッチのバージョンと、本番マシンが64ビットバージョンであることです。これは、dev:ruby 1.8.7 (2011-02-18 patchlevel 334) [x86_64-linux]
の32ビットバージョンとは異なります。