Каким образом рельсы могут отправлять данные в сторонний веб-сервис?

У меня простая форма с одной текстовой областью, которая представляет строку в текстовой области как JSON для внешней веб-службы. Вот как это выглядит до отправки формы:

И вот как это выглядит после отправки формы:

И вот код html.erb, который создал форму:

<!-- heading html redacted -->

<!-- <%= form_tag("http://externalservice.com", 
 method: :post,
 remote: true,
 role: "form",
 data: "json") do %> -->

<form role="form">
 <h4>Enter Data:</h4>
 <%= text_area_tag("data_to_send", @data, 
 rows: 5, 
 class: "form-control",
 style: "font-family: Monaco;") %>
 <p>
 Here you can edit the JSON data or click "Generate" to just
 use the data that already there.
 </p>
 <%= button_to_function("Generate Table!", "call_service(); this.blur()" ,class: "btn btn-primary") %>
<!-- <% end %> -->
</form>

<!-- table html redacted -->

Там, где прокомментированный form_tag - это то, что я пытался сделать, прежде чем я решил сделать что-то работу, используя jQuery и бит button_to_function.

Мой вопрос заключается в том, как я могу выполнить одно и то же - форма, которая отправляет данные JSON во внешнюю службу - путь рельсов? То ли с remote: true форма, либо иначе?

1 ответ

Если сторонний веб-сервис соответствует требованиям REST, вы можете попробовать ActiveResource.

Также прочтите этот Q/A еще несколько советов.

licensed under cc by-sa 3.0 with attribution.