POSTing через RoR, возвращая JSON, что теперь? - PullRequest
1 голос
/ 21 марта 2011

ОК, я совершенно новичок в Ruby on Rails. Я создал форму, которая отправляет сообщения на внешний виджет, который возвращает JSON. Итак, у меня есть эта форма:

<%= form_for :email, :url => 'http://XXX.XX.XXX.212/widgetapi.0.1.php', :html => {:class => "new_email"} do |f| %>
    <%= f.text_field :email, :value => "Your email address...", :class => "text", :id => "email", :name => 'email',  
    :onFocus => "change(this,'#222222'); this.value=''; this.onfocus=null;",
    :size => "26" %>  
      <%= f.hidden_field :apiKey, :id => "apiKey", :name => 'apiKey', :value => "ABC123" %>  
     <%= f.hidden_field :lrDomain, :id => "lrDomain", :name => 'lrDomain', :value => "signup.triplingo.com" %>  
     <%= f.hidden_field :urlPrefix, :id => "refCodeUrl", :name => 'refCodeUrl', :value => "http://signup.website.com/" %>  
    <%= f.hidden_field :ref_code, :id => 'ref_code', :name => 'ref_code', :value => @referralid %>  
    <%= submit_tag "Enter To Win", :class => "button-positive submit" %>  
    <% end %>

Который работает. Теперь я получаю ответ в формате JSON:

({"email":"testing@testing2.com","reflink":"fi1ts","newuser":true})

Хорошо, теперь результат, если браузер находится на странице ответов с JSON.

Полагаю, мне нужно что-то сделать с @response в контроллере, но я не уверен, что именно. Все, что я хочу сделать, - если это "newuser" верно, предоставить им страницу успеха. Если false, перейдите на страницу с ошибкой.

Спасибо.

1 Ответ

1 голос
/ 21 марта 2011

Вам следует изменить эту форму, чтобы она отправляла запрос вашему контроллеру. В этом контроллере вы должны выполнять вызов API с параметрами из формы (например, Curb: https://github.com/taf2/curb или Net / http: http://www.ruby -doc.org / stdlib / libdoc / net / http / rdoc /index.html). Затем Вы можете проанализировать результат в JSON и показать правильную страницу пользователя.

Итак:

1) Пользователь отправляет запрос в ВАШУ заявку

2) ВАШЕ приложение подает запрос на http://XXX.XX.XXX.212/widgetapi.0.1.php, используя данные пользователя

3) ВАШЕ приложение получает JSON и проверяет, является ли newuser истиной.

4) Если это верно, действие отображает страницу успеха, иначе это отображает страницу ошибки.

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