为什么我会在Rails 4.2中从登台和生产环境中获得2个不同的API响应?

时间:2015-01-31 01:50:46

标签: ruby-on-rails ruby-on-rails-4 rocketpants

所以我使用限制和偏移参数查询rails 4.2中的api,并且我在分段和生产环境中得到2个不同的响应 - 生产错误。你知道为什么它可以在一个环境中工作而不能在另一个环境中工作吗?以下是日志。我使用rocket_pants gem作为api。我如何处理这样的调试?

暂存响应:

2015-01-31T01:42:41.650830+00:00 app[web.2]: Processing by Api::V1::KitesController#index as 
2015-01-31T01:42:41.650902+00:00 app[web.2]:   Parameters: {"limit"=>"10", "offset"=>"0", "version"=>"1"}
2015-01-31T01:42:42.970394+00:00 app[web.2]: Completed 200 OK in 1319ms

生产响应:

015-01-31T01:45:30.290621+00:00 app[web.2]: Started GET "/1/kites?limit=10&offset=0" for 120.131.46.189 at 2015-01-31 01:45:30 +0000
2015-01-31T01:45:30.293135+00:00 app[web.2]:   Parameters: {"limit"=>"10", "offset"=>"0", "version"=>"1"}
2015-01-31T01:45:30.292819+00:00 app[web.2]: Processing by Api::V1::KitesController#index as 
2015-01-31T01:45:31.219974+00:00 heroku[router]: at=info method=GET path="/1/kites?limit=10&offset=0" host=kites.herokuapp.com request_id=3ca59d79-bf90-41e9-a828-ba8bd5d5b0c6 fwd="120.131.46.189" dyno=web.2 connect=1ms service=922ms status=500 bytes=581
2015-01-31T01:45:31.196390+00:00 app[web.2]: Exception occured: NoMethodError - undefined method `id' for #<Hash:0x007f03d6ec5320>
2015-01-31T01:45:31.196402+00:00 app[web.2]: Exception backtrace:
2015-01-31T01:45:31.196659+00:00 app[web.2]: => /app/vendor/bundle/ruby/2.0.0/gems/rocket_pants-1.9.2/lib/rocket_pants/controller/respondable.rb:129:in `respond_with_object_and_type'
2015-01-31T01:45:31.196699+00:00 app[web.2]: => /app/vendor/bundle/ruby/2.0.0/gems/rocket_pants-1.9.2/lib/rocket_pants/controller/respondable.rb:134:in `resource'
2015-01-31T01:45:31.196454+00:00 app[web.2]: => /app/vendor/bundle/ruby/2.0.0/gems/rocket_pants-1.9.2/lib/rocket_pants/controller/caching.rb:69:in `cache_key_for'
2015-01-31T01:45:31.196494+00:00 app[web.2]: => /app/vendor/bundle/ruby/2.0.0/gems/rocket_pants-1.9.2/lib/rocket_pants/controller/caching.rb:55:in `etag_for'
2015-01-31T01:45:31.196534+00:00 app[web.2]: => /app/vendor/bundle/ruby/2.0.0/gems/rocket_pants-1.9.2/lib/rocket_pants/controller/caching.rb:117:in `cache_response'
2015-01-31T01:45:31.196570+00:00 app[web.2]: => /app/vendor/bundle/ruby/2.0.0/gems/rocket_pants-1.9.2/lib/rocket_pants/controller/caching.rb:130:in `post_process_exposed_object'
2015-01-31T01:45:31.196773+00:00 app[web.2]: => /app/app/controllers/api/v1/clinical_trials_controller.rb:22:in `index'
2015-01-31T01:45:31.196737+00:00 app[web.2]: => /app/vendor/bundle/ruby/2.0.0/gems/rocket_pants-1.9.2/lib/rocket_pants/controller/respondable.rb:155:in `exposes'
2015-01-31T01:45:31.196808+00:00 app[web.2]: => /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.2.0/lib/abstract_controller/base.rb:198:in `process_action'
2015-01-31T01:45:31.196842+00:00 app[web.2]: => /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.2.0/lib/abstract_controller/callbacks.rb:20:in `block in process_action'

1 个答案:

答案 0 :(得分:1)

如果通过回复表示您在日志文件中显示的内容,则不同的环境会有不同的默认日志记录级别。

以下是两个可能有用的链接: