堆栈级别太深(SystemStackError)actionpack [英] Stack level too deep (SystemStackError) actionpack
问题描述
我正在使用Rails开发一个Web应用程序,但出现错误.
I am developing a web application with ruby on rails and I have an error.
在RAILS ADMIN控制台中浏览几次后,错误随机出现:
The error appears randomly after navigating several times in the RAILS ADMIN console :
我不知道该怎么去解决问题.
I do not know which way to go to solve the problem.
Controller#Action
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
user_password PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format) devise/passwords#update
POST /users/password(.:format) devise/passwords#create
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
user_registration PATCH /users(.:format) devise/registrations#update
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
POST /users(.:format) devise/registrations#create
rails_admin /admin RailsAdmin::Engine
root GET / home#index
contact GET /contact(.:format) home#contact
propos GET /propos(.:format) home#propos
settings GET /settings(.:format) settings#index
collect GET /collect(.:format) collect#index
dashboardPres GET /dashboardPres(.:format) dashboard#index
POST /settings(.:format) settings#index
POST /dashboardPres(.:format) dashboard#index
POST /collect(.:format) collect#index
collect_update POST /collect_update(.:format) collect#update
rails_service_blob GET /rails/active_storage/blobs/:signed_id/*filename(.:format) active_storage/blobs#show
rails_blob_representation GET /rails/active_storage/representations/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations#show
rails_disk_service GET /rails/active_storage/disk/:encoded_key/*filename(.:format) active_storage/disk#show
update_rails_disk_service PUT /rails/active_storage/disk/:encoded_token(.:format) active_storage/disk#update
rails_direct_uploads POST /rails/active_storage/direct_uploads(.:format) active_storage/direct_uploads#create
Routes for RailsAdmin::Engine:
dashboard GET / rails_admin/main#dashboard
index GET|POST /:model_name(.:format) rails_admin/main#index
new GET|POST /:model_name/new(.:format) rails_admin/main#new
export GET|POST /:model_name/export(.:format) rails_admin/main#export
bulk_delete POST|DELETE /:model_name/bulk_delete(.:format) rails_admin/main#bulk_delete
bulk_action POST /:model_name/bulk_action(.:format) rails_admin/main#bulk_action
show GET /:model_name/:id(.:format) rails_admin/main#show
edit GET|PUT /:model_name/:id/edit(.:format) rails_admin/main#edit
delete GET|DELETE /:model_name/:id/delete(.:format) rails_admin/main#delete
show_in_app GET /:model_name/:id/show_in_app(.:format) rails_admin/main#show_in_app
主控制器
class ApplicationController < ActionController::Base
rescue_from DeviseLdapAuthenticatable::LdapException do |exception|
render :text => exception, :status => 500
end
before_action :persist_last_visited_path, :authenticate_user!
before_action :configure_devise_parameters, if: :devise_controller?
rescue_from CanCan::AccessDenied do |exception|
redirect_to root_url, :alert => exception.message
end
def after_sign_in_path_for(resource)
if cookies[:last_visited_path].present?
cookies[:last_visited_path]
else
root_path
end
end
def configure_devise_parameters
devise_parameter_sanitizer.permit(:sign_up) { |u| u.permit(:username, :email, :password, :password_confirmation) }
end
def persist_last_visited_path
unless Rails.configuration.ignored_paths.include?(request.path) || request.xhr?
cookies[:last_visited_path] = request.path
end
end
end
完整跟踪:
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:689:in `block (2 levels) in define_generate_prefix'
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:689:in `block (2 levels) in define_generate_prefix'
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:689:in `block (2 levels) in define_generate_prefix'
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:689:in `block (2 levels) in define_generate_prefix'
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:689:in `block (2 levels) in define_generate_prefix'
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:689:in `block (2 levels) in define_generate_prefix'
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:689:in `block (2 levels) in define_generate_prefix'
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:689:in `block (2 levels) in define_generate_prefix'
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:689:in `block (2 levels) in define_generate_prefix'
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:689:in `block (2 levels) in define_generate_prefix'
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:689:in `block (2 levels) in define_generate_prefix'
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:689:in `block (2 levels) in define_generate_prefix'
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:689:in `block (2 levels) in define_generate_prefix'
actionpack (5.2.2) lib/action_dispatch/routing/route_set.rb:813:in `url_for'
actionpack (5.2.2) lib/action_dispatch/routing/route_set.rb:273:in `call'
actionpack (5.2.2) lib/action_dispatch/routing/route_set.rb:214:in `call'
actionpack (5.2.2) lib/action_dispatch/routing/route_set.rb:331:in `block (2 levels) in define_url_helper'
rails_admin (1.4.2) app/views/rails_admin/main/dashboard.html.haml:12:in `block in __usr_local_bundle_gems_rails_admin_______app_views_rails_admin_main_dashboard_html_haml___4103999051765141740_69997247796300'
rails_admin (1.4.2) app/views/rails_admin/main/dashboard.html.haml:10:in `each'
rails_admin (1.4.2) app/views/rails_admin/main/dashboard.html.haml:10:in `__usr_local_bundle_gems_rails_admin_______app_views_rails_admin_main_dashboard_html_haml___4103999051765141740_69997247796300'
actionview (5.2.2) lib/action_view/template.rb:159:in `block in render'
activesupport (5.2.2) lib/active_support/notifications.rb:170:in `instrument'
actionview (5.2.2) lib/action_view/template.rb:354:in `instrument_render_template'
actionview (5.2.2) lib/action_view/template.rb:157:in `render'
actionview (5.2.2) lib/action_view/renderer/template_renderer.rb:54:in `block (2 levels) in render_template'
actionview (5.2.2) lib/action_view/renderer/abstract_renderer.rb:44:in `block in instrument'
activesupport (5.2.2) lib/active_support/notifications.rb:168:in `block in instrument'
activesupport (5.2.2) lib/active_support/notifications/instrumenter.rb:23:in `instrument'
activesupport (5.2.2) lib/active_support/notifications.rb:168:in `instrument'
actionview (5.2.2) lib/action_view/renderer/abstract_renderer.rb:43:in `instrument'
actionview (5.2.2) lib/action_view/renderer/template_renderer.rb:53:in `block in render_template'
actionview (5.2.2) lib/action_view/renderer/template_renderer.rb:61:in `render_with_layout'
actionview (5.2.2) lib/action_view/renderer/template_renderer.rb:52:in `render_template'
actionview (5.2.2) lib/action_view/renderer/template_renderer.rb:16:in `render'
actionview (5.2.2) lib/action_view/renderer/renderer.rb:44:in `render_template'
actionview (5.2.2) lib/action_view/renderer/renderer.rb:25:in `render'
actionview (5.2.2) lib/action_view/rendering.rb:103:in `_render_template'
actionpack (5.2.2) lib/action_controller/metal/streaming.rb:219:in `_render_template'
actionview (5.2.2) lib/action_view/rendering.rb:84:in `render_to_body'
actionpack (5.2.2) lib/action_controller/metal/rendering.rb:52:in `render_to_body'
actionpack (5.2.2) lib/action_controller/metal/renderers.rb:142:in `render_to_body'
actionpack (5.2.2) lib/abstract_controller/rendering.rb:25:in `render'
actionpack (5.2.2) lib/action_controller/metal/rendering.rb:36:in `render'
actionpack (5.2.2) lib/action_controller/metal/instrumentation.rb:46:in `block (2 levels) in render'
activesupport (5.2.2) lib/active_support/core_ext/benchmark.rb:14:in `block in ms'
/usr/local/lib/ruby/2.5.0/benchmark.rb:308:in `realtime'
activesupport (5.2.2) lib/active_support/core_ext/benchmark.rb:14:in `ms'
actionpack (5.2.2) lib/action_controller/metal/instrumentation.rb:46:in `block in render'
actionpack (5.2.2) lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view_runtime'
activerecord (5.2.2) lib/active_record/railties/controller_runtime.rb:31:in `cleanup_view_runtime'
actionpack (5.2.2) lib/action_controller/metal/instrumentation.rb:45:in `render'
/usr/local/bundle/bundler/gems/remotipart-999f98133c6f/lib/remotipart/render_overrides.rb:17:in `render_with_remotipart'
rails_admin (1.4.2) lib/rails_admin/config/actions/dashboard.rb:37:in `block (2 levels) in <class:Dashboard>'
rails_admin (1.4.2) app/controllers/rails_admin/main_controller.rb:22:in `instance_eval'
rails_admin (1.4.2) app/controllers/rails_admin/main_controller.rb:22:in `dashboard'
actionpack (5.2.2) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (5.2.2) lib/abstract_controller/base.rb:194:in `process_action'
actionpack (5.2.2) lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack (5.2.2) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport (5.2.2) lib/active_support/callbacks.rb:132:in `run_callbacks'
actionpack (5.2.2) lib/abstract_controller/callbacks.rb:41:in `process_action'
actionpack (5.2.2) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (5.2.2) lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
activesupport (5.2.2) lib/active_support/notifications.rb:168:in `block in instrument'
activesupport (5.2.2) lib/active_support/notifications/instrumenter.rb:23:in `instrument'
activesupport (5.2.2) lib/active_support/notifications.rb:168:in `instrument'
actionpack (5.2.2) lib/action_controller/metal/instrumentation.rb:32:in `process_action'
actionpack (5.2.2) lib/action_controller/metal/params_wrapper.rb:256:in `process_action'
activerecord (5.2.2) lib/active_record/railties/controller_runtime.rb:24:in `process_action'
actionpack (5.2.2) lib/abstract_controller/base.rb:134:in `process'
actionview (5.2.2) lib/action_view/rendering.rb:32:in `process'
actionpack (5.2.2) lib/action_controller/metal.rb:191:in `dispatch'
actionpack (5.2.2) lib/action_controller/metal.rb:252:in `dispatch'
actionpack (5.2.2) lib/action_dispatch/routing/route_set.rb:52:in `dispatch'
actionpack (5.2.2) lib/action_dispatch/routing/route_set.rb:34:in `serve'
actionpack (5.2.2) lib/action_dispatch/journey/router.rb:52:in `block in serve'
actionpack (5.2.2) lib/action_dispatch/journey/router.rb:35:in `each'
actionpack (5.2.2) lib/action_dispatch/journey/router.rb:35:in `serve'
actionpack (5.2.2) lib/action_dispatch/routing/route_set.rb:840:in `call'
railties (5.2.2) lib/rails/engine.rb:524:in `call'
railties (5.2.2) lib/rails/railtie.rb:190:in `public_send'
railties (5.2.2) lib/rails/railtie.rb:190:in `method_missing'
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
actionpack (5.2.2) lib/action_dispatch/routing/mapper.rb:48:in `serve'
actionpack (5.2.2) lib/action_dispatch/journey/router.rb:52:in `block in serve'
actionpack (5.2.2) lib/action_dispatch/journey/router.rb:35:in `each'
actionpack (5.2.2) lib/action_dispatch/journey/router.rb:35:in `serve'
actionpack (5.2.2) lib/action_dispatch/routing/route_set.rb:840:in `call'
rack-pjax (1.1.0) lib/rack/pjax.rb:12:in `call'
/usr/local/bundle/bundler/gems/remotipart-999f98133c6f/lib/remotipart/middleware.rb:32:in `call'
warden (1.2.8) lib/warden/manager.rb:36:in `block in call'
warden (1.2.8) lib/warden/manager.rb:34:in `catch'
warden (1.2.8) lib/warden/manager.rb:34:in `call'
rack (2.0.6) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.0.6) lib/rack/etag.rb:25:in `call'
rack (2.0.6) lib/rack/conditional_get.rb:25:in `call'
rack (2.0.6) lib/rack/head.rb:12:in `call'
actionpack (5.2.2) lib/action_dispatch/http/content_security_policy.rb:18:in `call'
rack (2.0.6) lib/rack/session/abstract/id.rb:232:in `context'
rack (2.0.6) lib/rack/session/abstract/id.rb:226:in `call'
actionpack (5.2.2) lib/action_dispatch/middleware/cookies.rb:670:in `call'
activerecord (5.2.2) lib/active_record/migration.rb:559:in `call'
actionpack (5.2.2) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
activesupport (5.2.2) lib/active_support/callbacks.rb:98:in `run_callbacks'
actionpack (5.2.2) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (5.2.2) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (5.2.2) lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
web-console (3.7.0) lib/web_console/middleware.rb:135:in `call_app'
web-console (3.7.0) lib/web_console/middleware.rb:22:in `block in call'
web-console (3.7.0) lib/web_console/middleware.rb:20:in `catch'
web-console (3.7.0) lib/web_console/middleware.rb:20:in `call'
actionpack (5.2.2) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
railties (5.2.2) lib/rails/rack/logger.rb:38:in `call_app'
railties (5.2.2) lib/rails/rack/logger.rb:26:in `block in call'
activesupport (5.2.2) lib/active_support/tagged_logging.rb:71:in `block in tagged'
activesupport (5.2.2) lib/active_support/tagged_logging.rb:28:in `tagged'
activesupport (5.2.2) lib/active_support/tagged_logging.rb:71:in `tagged'
railties (5.2.2) lib/rails/rack/logger.rb:26:in `call'
sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call'
actionpack (5.2.2) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (5.2.2) lib/action_dispatch/middleware/request_id.rb:27:in `call'
rack (2.0.6) lib/rack/method_override.rb:22:in `call'
rack (2.0.6) lib/rack/runtime.rb:22:in `call'
activesupport (5.2.2) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
actionpack (5.2.2) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (5.2.2) lib/action_dispatch/middleware/static.rb:127:in `call'
rack (2.0.6) lib/rack/sendfile.rb:111:in `call'
railties (5.2.2) lib/rails/engine.rb:524:in `call'
puma (3.12.0) lib/puma/configuration.rb:225:in `call'
puma (3.12.0) lib/puma/server.rb:658:in `handle_request'
puma (3.12.0) lib/puma/server.rb:472:in `process_client'
puma (3.12.0) lib/puma/server.rb:332:in `block in run'
puma (3.12.0) lib/puma/thread_pool.rb:133:in `block in spawn_thread'
有人可以帮我解决这个问题吗?
Can someone help me to solve this problem ?
谢谢
推荐答案
一个选项是 RailsAdmin
无法确定您的管理路由的前缀,因为它们之间存在重叠.您可以通过在控制台上运行 rake route
来检查所有生成的路由.
An option is that RailsAdmin
cannot decide the prefix for your admin routes since there's an overlap in them. You can check all generated routes by running rake routes
on your console.
您在MainController上是否有重定向?因为从stacktrace看来,您似乎是由于 redirect_to
或没有有效的管理会话而导致的重定向循环.如果您可以发布您的 home#index
或整个MainController的代码,我可以提供一个更好的答案.
Do you have a redirect on your MainController? Because from the stacktrace it seems like you are either in a redirect loop caused by a redirect_to
or by not having a valid admin session. If you can post the code of your home#index
or the whole MainController I could provide a better answer.
这篇关于堆栈级别太深(SystemStackError)actionpack的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!