Я использую Ruby on Rails 3 и пытаюсь реализовать API. Я хотел бы решить некоторые странные проблемы, возникающие при возврате данных после HTTP-запроса GET веб-клиента. В двух словах, проблемы заключаются в возвращаемых значениях тела ответа, для которых я получаю «слишком много» * 1001 * (см. Примеры ниже) и, иногда, в возвращении данных JSON.
На стороне веб-службы в моем Промежуточном программном обеспечении У меня есть:
class Testing
def initialize(app)
@app = app
end
def call(env)
accounts = Account.find([1,2,3])
resp_test = accounts.count
[200, {}, resp_test] # No [200, {'Content-Type' => 'application/json'}, resp_test]
end
end
На стороне клиента, если я вижу ответ, у меня есть
# debug response.body
---
В этом случае проблема заключается в accounts.count
, который возвращает значение ""
в теле ответа. Возможно, что accounts.count
не делает то, что должно.
Я также столкнулся с некоторыми проблемами, когда не возвращал данные JSON. Например, отлаживая переменные на стороне клиента, иногда я получал значение ответа тела ""
, если я не возвращал JSON DATA следующим образом:
# On the service side in the Rack middleware file
[200, {}, resp_test] # No[200, {'Content-Type' => 'application/json'}, resp_test.to_json]
Ответ:
# Case don't returning JSON data
# debug response.body
---
# Case returning JSON data
# debug response.body
--- test_value
В чем проблема? Если это accounts.count
или Account.find([1,2,3])
, как я могу заставить это работать, чтобы вернуть правильное значение?