2011-11-12 8 views
2

私は実装のためにspree 0.70を使用します。開発状態ではすべてうまく動作します。しかし、私はサーバーの注文にアプリをデプロイするときには、#入力doesnt仕事。 ログだけでスタックレベルが深すぎる、それ以上のものは見つかりませんでした。おそらく、モデル間の関係に問題があるでしょう。spree order.saveスタックレベルがあまりにも深い

Started POST "/orders/populate" for 89.173.150.167 at 2011-11-11 23:23:20 +0100 
Processing by OrdersController#populate as HTML 
Parameters: 
{"utf8"=>"✓","authenticity_token"=>"B8zHc4a4NwW9TU9lqUrHvu/5O2i+6aKfiD0bEFJEUEM=", "products"=>{"1060500784"=>"1025786949"}, "quantity"=>"1", "button"=>""} 
Completed 500 Internal Server Error in 148ms 

SystemStackError (stack level too deep): 

は、それから私は、コンソールを実行し、私は、仕事の生産にfalseにcache_classesを変更した場合は

o=order.new 
o.save! 

complete SQL log

を実行してみてください。私のバージョンはgemsです。宝石類は生産と開発の状態で同じです。

+0

ハッシュされたパスワードをペストリーにダンプしたことに注意してください。 (ええと、それでもなおブルートフォースをするのは苦痛です。)ちなみに、私は最後に「ロールバック」に気づきました。なぜそれがコミットしなかったのですか? – sarnold

+0

ゲストユーザーのパスワードです。 Rubyエラー(スタックレベルが深すぎる - 再帰的なコードが実行された)を実行するため、ロールバックするか、間違っていますか? [ここではsucessfull order.saveのクエリです](http://pastie.org/2851388) – LuiGi

+0

問題は[ここ]です(https://github.com/spree/spree/blob/master/core/app)。 /models/spree/order.rb#L475) はorder.update_adjustments ' DEF self.adjustments.reload.eachをupdate_adjustments呼び出すafter_updateコールadjustment.order.update!、(&、新しい調整を作成order.after_create :update!) end ' – LuiGi

答えて

関連する問題