Я использую Rails 2.3, и я решил предоставить поддержку JSONP. Создано совершенно новое приложение. Затем запустил скрипт / сгенерировал скаффолд Имя пользователя: строка
Это все мое окружение. Rb
RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
require File.join(File.dirname(__FILE__), 'boot')
require 'rack/contrib'
Rails::Initializer.run do |config|
config.middleware.use 'Rack::JSONP'
end
Когда я захожу на localhost: 3000 / users, я получаю только хэш. Когда я захожу на localhost: 3000 / users.js? Callback = show, я получаю хороший результат.
Давайте посмотрим на код jsonp . Я не понимаю, почему ответ оборачивается в массив.
Я создал другое промежуточное программное обеспечение Rack, где я заменил это утверждение
[status, headers, [response]]
с этим утверждением
[status, headers, response]
А теперь все работает нормально.
Я отказываюсь верить, что это ошибка в rack-contrib.
Может ли кто-нибудь объяснить мне, почему ответ помещается в массив и как я могу использовать rack-contrib в своем приложении.
Полный исходный код моего приложения здесь . Просто клонируйте его и запустите на localhost: 3000.