spree order.save нивото на стека е твърде дълбоко

Използвам spree 0.70 за внедряване на моя електронен магазин. В състояние на разработка всичко работи добре. Но когато разположа приложение на сървъра, order#populate не работи. Намерих в дневника само ниво на стека твърде дълбоко, нищо повече. Вероятно проблемът е в отношенията между моделите.

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):  

След това стартирам конзолата и се опитвам да стартирам

o=order.new
o.save!

пълен SQL регистрационен файл

Ако променя cache_classes на false в производството, тогава работя. Моята версия на скъпоценни камъни. Скъпоценните камъни са еднакви в състояние на производство и разработка.


person LuiGi    schedule 12.11.2011    source източник
comment
Обърнете внимание, че сте изхвърлили вашата хеширана парола в paste -- надявам се, че не е нищо важно. (Да, би било трудно да го форсирате грубо, но все пак.) Между другото, забелязах накрая ROLLBACK. Защо не се ангажира в този момент?   -  person sarnold    schedule 12.11.2011
comment
Това е парола на гост потребител. Прави връщане назад, защото изпълнява ruby ​​грешка (нивото на стека е твърде дълбоко - изпълнен е някакъв рекурсивен код), или греша? Ето заявки за успешна поръчка.save   -  person LuiGi    schedule 12.11.2011
comment
Предполагам, че проблемът е тук order.after_create създава нова корекция, която after_update извиква adjustment.order.update!, която извиква order.update_adjustments ` def update_adjustments self.adjustments.reload.each(&:update!) end `   -  person LuiGi    schedule 12.11.2011
comment
Реших проблема с писането на order_decorator. Заменям метод с това. Надявам се, че това заобиколно решение не е повлияно на други взаимоотношения с поръчка и модел на корекция.   -  person LuiGi    schedule 12.11.2011
comment
Не забравяйте да публикувате отговора си тук и да го маркирате като приет, така че някой друг да може по-лесно да каже решението в бъдеще! Благодаря!   -  person sarnold    schedule 13.11.2011


Отговори (1)


Имаше предполагаема корекция за това https://github.com/spree/spree/pull/766. Вижте дали това решава проблема ви

person Ryan Bigg    schedule 15.11.2011