Rails 5 Upgrade: NoMethodError: undefined method `call' for :"js-routes_dependent_on_routes"

Rails 5 Upgrade: NoMethodError: undefined method `call' for :"js-routes_dependent_on_routes"

在 Rails 5 升级过程中,当我 运行 RSpec 或 rake assets:precompile 或尝试启动我的服务器时,我遇到了一个奇怪的错误。它已 运行 加入我的 session.html.haml 文件并被 better_errors 拾取。在 RSpec 中,它会立即进行功能测试。 (水豚)简而言之是这样的:

rake aborted! NoMethodError: undefined method `call' for :"js-routes_dependent_on_routes":Symbol

这里是 rake 任务的堆栈跟踪:

/Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:83:in `call_processor' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:65:in `block in call_processors' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:64:in `reverse_each' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:64:in `call_processors' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:147:in `load_from_unloaded' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:58:in `block in load' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:323:in `fetch_asset_from_dependency_cache' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:42:in `load' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/cached_environment.rb:20:in `block in initialize' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/cached_environment.rb:47:in `yield' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/cached_environment.rb:47:in `load' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/bundle.rb:23:in `block in call' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/utils.rb:152:in `dfs' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/bundle.rb:24:in `call' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:83:in `call_processor' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:65:in `block in call_processors' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:64:in `reverse_each' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:64:in `call_processors' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:147:in `load_from_unloaded' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:58:in `block in load' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:323:in `fetch_asset_from_dependency_cache' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:42:in `load' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/cached_environment.rb:20:in `block in initialize' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/cached_environment.rb:47:in `yield' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/cached_environment.rb:47:in `load' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets- /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/manifest.rb:124:in `block in find' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/manifest.rb:123:in `each' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/manifest.rb:123:in `find' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/manifest.rb:165:in `compile' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/task.rb:68:in `block (3 levels) in define' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/rake/sprocketstask.rb:147:in `with_logger' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/task.rb:67:in `block (2 levels) in define' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/airbrake-5.4.3/lib/airbrake/rake/task_ext.rb:19:in `execute' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/gems/rake-11.2.2/exe/rake:27:in `<top (required)>' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `eval' /Users/this_is-my_username/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `<main>'

这里是 RSpec 的堆栈跟踪:

``` Failure/Error:=stylesheet_link_tag'application'

  ActionView::Template::Error:
    undefined method `call' for :"js-routes_dependent_on_routes":Symbol
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:83:in `call_processor'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:65:in `block in call_processors'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:64:in `reverse_each'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:64:in `call_processors'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:147:in `load_from_unloaded'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:58:in `block in load'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:323:in `fetch_asset_from_dependency_cache'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:42:in `load'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/cached_environment.rb:20:in `block in initialize'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/cached_environment.rb:47:in `yield'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/cached_environment.rb:47:in `load'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/bundle.rb:23:in `block in call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/utils.rb:152:in `dfs'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/bundle.rb:24:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:83:in `call_processor'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:65:in `block in call_processors'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:64:in `reverse_each'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:64:in `call_processors'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:147:in `load_from_unloaded'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:58:in `block in load'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:323:in `fetch_asset_from_dependency_cache'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/loader.rb:42:in `load'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/cached_environment.rb:20:in `block in initialize'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/cached_environment.rb:47:in `yield'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/cached_environment.rb:47:in `load'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/base.rb:66:in `find_asset'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/base.rb:73:in `find_all_linked_assets'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/manifest.rb:124:in `block in find'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/manifest.rb:123:in `each'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/manifest.rb:123:in `find'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/railtie.rb:50:in `each'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/railtie.rb:50:in `map'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/railtie.rb:50:in `precompiled_assets'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/railtie.rb:35:in `asset_precompiled?'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/railtie.rb:250:in `block (3 levels) in <class:Railtie>'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:342:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:342:in `precompiled?'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:346:in `raise_unless_precompiled_asset'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:320:in `digest_path'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:308:in `asset_path'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:85:in `block in resolve_asset_path'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:225:in `block in resolve_asset'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:224:in `each'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:224:in `detect'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:224:in `resolve_asset'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:84:in `resolve_asset_path'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:74:in `compute_asset_path'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/helpers/asset_url_helper.rb:144:in `asset_path'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/helpers/asset_url_helper.rb:281:in `stylesheet_path'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/helpers/asset_tag_helper.rb:100:in `block in stylesheet_link_tag'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/helpers/asset_tag_helper.rb:96:in `map'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/helpers/asset_tag_helper.rb:96:in `stylesheet_link_tag'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:168:in `block in stylesheet_link_tag'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:166:in `map'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/helper.rb:166:in `stylesheet_link_tag'
  # ./app/views/layouts/session.html.haml:9:in `_app_views_layouts_session_html_haml__520677417205870691_70261382602080'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/template.rb:158:in `block in render'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/notifications.rb:166:in `instrument'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/template.rb:348:in `instrument'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/template.rb:156:in `render'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/renderer/template_renderer.rb:66:in `render_with_layout'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/skylight-0.10.5/lib/skylight/probes/action_view.rb:32:in `block in render_with_layout'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/renderer/abstract_renderer.rb:42:in `block in instrument'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/notifications.rb:164:in `block in instrument'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/notifications.rb:164:in `instrument'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/renderer/abstract_renderer.rb:41:in `instrument'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/skylight-0.10.5/lib/skylight/probes/action_view.rb:31:in `render_with_layout'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/renderer/template_renderer.rb:52:in `render_template'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/renderer/template_renderer.rb:14:in `render'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/renderer/renderer.rb:42:in `render_template'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/renderer/renderer.rb:23:in `render'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/rendering.rb:103:in `_render_template'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal/streaming.rb:217:in `_render_template'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/rendering.rb:83:in `render_to_body'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal/rendering.rb:52:in `render_to_body'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal/renderers.rb:144:in `render_to_body'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/abstract_controller/rendering.rb:26:in `render'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal/rendering.rb:36:in `render'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal/instrumentation.rb:44:in `block (2 levels) in render'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/core_ext/benchmark.rb:12:in `block in ms'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/core_ext/benchmark.rb:12:in `ms'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal/instrumentation.rb:44:in `block in render'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view_runtime'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activerecord-5.0.0/lib/active_record/railties/controller_runtime.rb:25:in `cleanup_view_runtime'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal/instrumentation.rb:43:in `render'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/wicked_pdf-1.0.6/lib/wicked_pdf/pdf_helper.rb:22:in `render_with_wicked_pdf'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/bundler/gems/remotipart-88d9a7d55bde/lib/remotipart/render_overrides.rb:16:in `render_with_remotipart'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/responders-2.2.0/lib/action_controller/responder.rb:238:in `default_render'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/responders-2.2.0/lib/action_controller/responder.rb:170:in `to_html'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/responders-2.2.0/lib/action_controller/responder.rb:163:in `respond'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/responders-2.2.0/lib/action_controller/responder.rb:156:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/responders-2.2.0/lib/action_controller/respond_with.rb:205:in `respond_with'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/devise-4.2.0/app/controllers/devise/sessions_controller.rb:12:in `new'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/abstract_controller/base.rb:188:in `process_action'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal/rendering.rb:30:in `process_action'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:126:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:126:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:506:in `block (2 levels) in compile'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:455:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:455:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:448:in `block (2 levels) in around'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:286:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:286:in `block (2 levels) in halting'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/bundler/gems/rails-observers-3fe157d6cbb5/lib/rails/observers/action_controller/caching/sweeper.rb:24:in `around'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:405:in `public_send'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:405:in `block in make_lambda'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:285:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:285:in `block in halting'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:447:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:447:in `block in around'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:455:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:455:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:101:in `__run_callbacks__'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:750:in `_run_process_action_callbacks'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:90:in `run_callbacks'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/abstract_controller/callbacks.rb:19:in `process_action'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal/rescue.rb:20:in `process_action'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/notifications.rb:164:in `block in instrument'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/notifications.rb:164:in `instrument'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal/params_wrapper.rb:248:in `process_action'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activerecord-5.0.0/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/abstract_controller/base.rb:126:in `process'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionview-5.0.0/lib/action_view/rendering.rb:30:in `process'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal.rb:190:in `dispatch'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_controller/metal.rb:262:in `dispatch'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_dispatch/routing/route_set.rb:32:in `serve'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_dispatch/routing/mapper.rb:16:in `block in <class:Constraints>'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_dispatch/routing/mapper.rb:46:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_dispatch/routing/mapper.rb:46:in `serve'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_dispatch/journey/router.rb:39:in `block in serve'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_dispatch/journey/router.rb:26:in `each'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_dispatch/journey/router.rb:26:in `serve'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_dispatch/routing/route_set.rb:725:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-pjax-1.0.0/lib/rack/pjax.rb:12:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-attack-4.4.1/lib/rack/attack.rb:107:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/bundler/gems/remotipart-88d9a7d55bde/lib/remotipart/middleware.rb:32:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/warden-1.2.6/lib/warden/manager.rb:35:in `block in call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/warden-1.2.6/lib/warden/manager.rb:34:in `catch'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/warden-1.2.6/lib/warden/manager.rb:34:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-2.0.1/lib/rack/etag.rb:25:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-2.0.1/lib/rack/conditional_get.rb:25:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-2.0.1/lib/rack/head.rb:12:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-2.0.1/lib/rack/session/abstract/id.rb:222:in `context'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-3.1.1/lib/sprockets/rails/quiet_assets.rb:13:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/request_store-1.3.1/lib/request_store/middleware.rb:9:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-2.0.1/lib/rack/method_override.rb:22:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-2.0.1/lib/rack/runtime.rb:22:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_dispatch/middleware/executor.rb:12:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_dispatch/middleware/static.rb:136:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-2.0.1/lib/rack/sendfile.rb:111:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/railties-5.0.0/lib/rails/engine.rb:522:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-2.0.1/lib/rack/urlmap.rb:68:in `block in call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-2.0.1/lib/rack/urlmap.rb:53:in `each'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-2.0.1/lib/rack/urlmap.rb:53:in `call'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-test-0.6.3/lib/rack/mock_session.rb:30:in `request'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-test-0.6.3/lib/rack/test.rb:244:in `process_request'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rack-test-0.6.3/lib/rack/test.rb:58:in `get'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/capybara-2.7.1/lib/capybara/rack_test/browser.rb:61:in `process'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/capybara-2.7.1/lib/capybara/rack_test/browser.rb:39:in `block in process_and_follow_redirects'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/capybara-2.7.1/lib/capybara/rack_test/browser.rb:38:in `times'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/capybara-2.7.1/lib/capybara/rack_test/browser.rb:38:in `process_and_follow_redirects'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/capybara-2.7.1/lib/capybara/rack_test/browser.rb:22:in `visit'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/capybara-2.7.1/lib/capybara/rack_test/driver.rb:43:in `visit'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/capybara-2.7.1/lib/capybara/session.rb:233:in `visit'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/capybara-2.7.1/lib/capybara/dsl.rb:52:in `block (2 levels) in <module:DSL>'
  # ./spec/support/login_macros.rb:43:in `login_registrar_feature'
  # ./spec/features/error_avoidance/role_specific_spec.rb:13:in `block (2 levels) in <top (required)>'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rspec-retry-0.4.5/lib/rspec/retry.rb:98:in `block in run'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rspec-retry-0.4.5/lib/rspec/retry.rb:88:in `loop'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rspec-retry-0.4.5/lib/rspec/retry.rb:88:in `run'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rspec-retry-0.4.5/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
  # /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/rspec-retry-0.4.5/lib/rspec/retry.rb:22:in `block (2 levels) in setup'
  # ------------------
  # --- Caused by: ---
  # NoMethodError:
  #   undefined method `call' for :"js-routes_dependent_on_routes":Symbol
  #   /Users/this_is_my_username/.rvm/gems/ruby-2.2.3/gems/sprockets-4.0.0.beta2/lib/sprockets/processor_utils.rb:83:in `call_processor'

```

这到底是怎么回事?

我猜 js-routes 还不兼容 sprockets 4.0 - 恢复到 sprockets 3.x