Closed
Description
The following error happens only with rails 4.2.4 (and rack 1.6) and not on rails 3.2.22 (and rack 1.4):
ERROR["test_should_suggest_event_children", ArticlesTest, 2015-09-10 18:40:02 -0300]
test_should_suggest_event_children#ArticlesTest (1441921202.61s)
NoMethodError: NoMethodError: undefined method `[]' for nil:NilClass
/home/braulio/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-mount-0.8.3/lib/rack/mount/route_set.rb:155:in `block in call'
/home/braulio/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-mount-0.8.3/lib/rack/mount/code_generation.rb:96:in `block in recognize'
/home/braulio/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-mount-0.8.3/lib/rack/mount/code_generation.rb:68:in `optimized_each'
/home/braulio/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-mount-0.8.3/lib/rack/mount/code_generation.rb:95:in `recognize'
/home/braulio/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-mount-0.8.3/lib/rack/mount/route_set.rb:141:in `call'
/home/braulio/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/grape-0.13.0/lib/grape/api.rb:114:in `call'
/home/braulio/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/grape-0.13.0/lib/grape/api.rb:44:in `call!'
/home/braulio/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/grape-0.13.0/lib/grape/api.rb:39:in `call'
/home/braulio/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-test-0.6.3/lib/rack/mock_session.rb:30:in `request'
/home/braulio/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-test-0.6.3/lib/rack/test.rb:244:in `process_request'
/home/braulio/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-test-0.6.3/lib/rack/test.rb:67:in `post'
test/unit/api/articles_test.rb:366:in `block in <class:ArticlesTest>'
The error happened because rack-mount
is expecting the result of rack call to be an array, but it is a hash (file rack-mount-0.8.3/lib/rack/mount/route_set.rb
):
151
152 result = route.app.call(env)
153
154 pp result
155 if result[1][X_CASCADE] == PASS
156 env[@parameters_key] = old_params
157 else
158 return res
It seems that rack-mount
is unmaintained for a long time (even the repo was deleted). Have you considered to not depend on it anymore?