Проблема при ответе на HTTP-запрос при подсчете записей - PullRequest
0 голосов
/ 11 марта 2011

Я использую 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]), как я могу заставить это работать, чтобы вернуть правильное значение?

1 Ответ

0 голосов
/ 11 марта 2011

сначала ваше промежуточное ПО должно быть после ActiveRecord::ConnectionAdapters::ConnectionManagement при вызове rake middleware

вторая попытка возврата resp_test.to_s

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...