Как написать код Rails для обработки запроса от клиента (JS) для разработки PhoneGap - PullRequest
1 голос
/ 23 декабря 2011

РЕДАКТИРОВАННЫЙ вопрос

Я понимаю, что не могу просто выбросить код Rails в Phonegap, и мне нужно написать, создать несколько статических страниц и использовать JS для связи с сервером для данных. Мой вопрос заключается в том, как написать код Rails для обработки запроса http, чтобы вернуть JSON с информацией?

Спасибо

СТАРЫЙ Вопрос

Я создал мобильное приложение Rails и мне интересно использовать Phonegap, чтобы превратить его в родное приложение для iPhone и Android.

Я искал вокруг и не смог найти хороший учебник о том, как это сделать. Я посмотрел Quick Left видео , и я запутался, зачем нужен дополнительный код среднего износа. Насколько я понимаю, для использования Phonegap мне нужно переписать весь интерфейс и выборку данных в javascript.

Если кто-нибудь мог бы предложить какое-то понимание или указать мне какое-нибудь руководство по тому, как я могу интегрировать свое приложение Rails с PhoneGap, пожалуйста, дайте мне знать.

Спасибо

Ответы [ 3 ]

2 голосов
/ 23 декабря 2011

Я не думаю, что это возможно.Ruby потребуется переводчик, и, если он не находится в браузере, он не может работать.Я думаю, что единственный способ - это использовать javascript

0 голосов
/ 03 января 2012

Rails 3.1.x уже возвращает JSON-запросы, если у вас есть такой контроллер:

class EaracheMyEyeController < ApplicationController

  def show
    @earache_my_eye = EaracheMyEye.find(params[:id])
    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @earache_my_eye }
    end
  end
end

Часть format.json { render json: @earache_my_eye } будет отображать данные как JSON, если вы, например, посетите URL-адрес объектаearachemyeyes/1.json

Таким образом, в вашем приложении для определения разрыва телефона вы вызываете метод URLS GET для получения данных и добавляете .json в конце URL-адреса для получения данных в формате JSON.

Обновление:

Несколько вещей, которые я недавно узнал о запросах JSONP в phonegap.Это только GET-запросы.Нет сообщений

Тем не менее, вы можете добавить _method=POST и добавить configure.middleware.swap(Rack::MethodOverride,Rack::RestfulJsonpMiddleware в ваши файлы conf / environment / (production / development / test) .rb

Добавить что-то вроде этогов вашу библиотеку:

https://github.com/quickleft/kbomb_phonegap_server/blob/master/lib/rack/restful_jsonp_middleware.rb

Это позволяет вам отправлять фактический запрос GET, но он читается и обрабатывается как ваш _method=POST или любым другим способом, который вам действительно нужен.Вы не можете использовать встроенный Rack :: MethodOverride, потому что он реализует только POST и ничего больше (предназначался для облегчения PUT и GET).Таким образом, файл https://github.com/quickleft/kbomb_phonegap_server/blob/master/lib/rack/restful_jsonp_middleware.rb создает новое промежуточное программное обеспечение Rack, которое позволяет вам использовать все методы HTTP.

0 голосов
/ 23 декабря 2011

Вы не можете, но, возможно, вы хотите попробовать Родос: http://rhomobile.com/products/rhodes/

...