2012-06-13 3 views
4

Мне нужно создать приложение Rails, которое будет принимать запрос на отправку от мобильного клиента и хранить информацию, отправленную с запросом. Я буду использовать Ajax для отправки запроса. Запрос отправляются со следующими параметрами: широты (с плавающей точкой) долготы (с плавающей точкой) метки времени (Javascript Дата объект)Ruby on Rails Accept post request

Я уже создал модель данных с соответствующими полями с помощью реек генерировать ресурс, но я 'Не знаю, как заставить Rails принять запрос Post и создать объект с необходимой информацией. Как мне изменить код Rails, сгенерированный для этого?

Спасибо, и я прошу прощения за задание такого элементарного вопроса.

ответ

5

Трудно сказать, насколько вы знаете о Rails из этого вопроса, но это все действительно базовые функции Rails, поэтому вам нужно начинать с самого начала ... если вы сделаете эти два учебника, вы сможете для начала работы:

  1. Узнайте Rails Controllers
  2. Узнайте Rails Routing

затем дать ему шанс, создавая новый контроллер и некоторые маршруты, которые соответствуют тому, что вы ищете, то вы можете использовать Mozilla плагин, такой как R ESTClient для проверки ваших маршрутов с помощью некоторых фиктивных данных.

Но серьезно, первый шаг здесь - «Изучить рельсы». :)

+0

Моя проблема с контроллером. Я пытаюсь передать параметры методу создания диспетчера отчетов. Как я понимаю, ввод «http: // localhost: 3000/reports/create/1? Latitude = 4» в адресную строку должен создать новый отчет с широтным полем = 4. Однако объект отчета, который сохраняется в базе данных имеет только пустые поля. – jac

+0

Затем у меня есть еще один учебник для вас: http://edgeguides.rubyonrails.org/debugging_rails_applications.html вы должны запустить свой сервер в режиме отладки и обращать внимание на результат, затем вы можете сбросить свои параметры на консоль и начать отладку - начните с проверки того, попадает ли ваш параметр широты в контроллер вообще. – MBHNYC

+0

Итак, я, наконец, получил Report # create, чтобы принять параметры, указанные в URL-адресе. Ранее код был @ report = Report.new (params [: report]). Я должен был явно указать параметры для его принятия. @ Report = Report.new ({широта: params [: широта]}). Есть ли причина, почему я должен был это сделать? – jac