Ruby on rails 堆栈级别太深:Spree管理-产品映像

Ruby on rails 堆栈级别太深:Spree管理-产品映像,ruby-on-rails,paperclip,spree,Ruby On Rails,Paperclip,Spree,我在spree 2.3.0的生产环境中遇到堆栈级别太深的错误 当我尝试转到“管理”面板中的“产品图像索引”页面时,会发生这种情况。这个错误并没有发生在开发中,只有在九倍的生产中。在生产模式下本地运行应用程序时,不会发生此错误。我似乎能找出是什么引起的。我没有更改Spree中与产品图像相关的任何默认核心功能。图像在前端渲染良好 我用的是回形针和aws。在某一点上,生产上没有错误。然而,我已经检查了所有的提交,无法确定是什么改变导致了这个问题。我已经添加了其他宝石,但并没有一个宝石和回形针宝石或其依

我在spree 2.3.0的生产环境中遇到堆栈级别太深的错误

当我尝试转到“管理”面板中的“产品图像索引”页面时,会发生这种情况。这个错误并没有发生在开发中,只有在九倍的生产中。在生产模式下本地运行应用程序时,不会发生此错误。我似乎能找出是什么引起的。我没有更改Spree中与产品图像相关的任何默认核心功能。图像在前端渲染良好

我用的是回形针和aws。在某一点上,生产上没有错误。然而,我已经检查了所有的提交,无法确定是什么改变导致了这个问题。我已经添加了其他宝石,但并没有一个宝石和回形针宝石或其依赖性冲突,这是我猜测可能是什么原因造成的

这是生产日志错误

+0000
I, [2015-01-11T22:02:28.691119 #26116] INFO -- : Processing by Spree::Admin::ImagesController#index as HTML
I, [2015-01-11T22:02:28.691252 #26116] INFO -- : Parameters: {"product_id"=>"black-string-tie-halter-top-with-printed-neck-binding"}
D, [2015-01-11T22:02:28.693443 #26116] DEBUG -- : Cache read: spree/app_configuration/redirect_https_to_http
D, [2015-01-11T22:02:28.693920 #26116] DEBUG -- : Cache read: spree/backend_configuration/locale
D, [2015-01-11T22:02:28.695806 #26116] DEBUG -- : [1m[36mSpree::Preference Load (0.7ms)[0m [1mSELECT "spree_preferences".* FROM "spree_preferences" WHERE "spree_preferences"."key" = 'spree/backend_configuration/locale' LIMIT 1[0m
D, [2015-01-11T22:02:28.695979 #26116] DEBUG -- : Cache write: spree/backend_configuration/locale
D, [2015-01-11T22:02:28.696566 #26116] DEBUG -- : Cache read: spree/app_configuration/allow_ssl_in_production
D, [2015-01-11T22:02:28.696881 #26116] DEBUG -- : Cache read: spree/app_configuration/check_for_spree_alerts
D, [2015-01-11T22:02:28.697171 #26116] DEBUG -- : Cache read: spree/app_configuration/last_check_for_spree_alerts
D, [2015-01-11T22:02:28.699099 #26116] DEBUG -- : [1m[35mSpree::User Load (0.5ms)[0m SELECT "spree_users".* FROM "spree_users" WHERE "spree_users"."id" = 1 ORDER BY "spree_users"."id" ASC LIMIT 1
D, [2015-01-11T22:02:28.702026 #26116] DEBUG -- : [1m[36m (0.5ms)[0m [1mSELECT COUNT(*) FROM "spree_roles" INNER JOIN "spree_roles_users" ON "spree_roles"."id" = "spree_roles_users"."role_id" WHERE "spree_roles_users"."user_id" = $1 AND "spree_roles"."name" = 'admin'[0m [["user_id", 1]]
I, [2015-01-11T22:02:28.706068 #26116] INFO -- : Completed 500 Internal Server Error in 15ms
F, [2015-01-11T22:02:28.706732 #26116] FATAL -- : 
SystemStackError (stack level too deep):
vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:629
任何帮助都将不胜感激

更新-生产环境中的完整堆栈跟踪:

SystemStackError in Spree::Admin::ImagesController#index
stack level too deep

Rails.root: /var/www/apps/11829/releases/dbeebbeebaf8ac5fa580e0fd192ad9fc06e7ce4b

Application Trace | Framework Trace | Full Trace
vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:629

所以在检查了我安装的所有gems之后,我终于发现了问题所在


是Spree::Admin::ImagesController装饰器中的alias_方法导致堆栈级别太深错误

堆栈跟踪不够清晰。你能在
environments/production.rb
中打开完整堆栈跟踪并粘贴到这里吗?@kasperite补充道。没有告诉我们太多。你能在本地的生产环境中运行你的应用程序吗
RAILS\u ENV=production RAILS s
?@RyanBigg是。我没有在生产中本地运行该错误。@RyanBigg我在实际生产模式中部署在九倍上,我看到了错误。顺便提一下