@Fahrenhei7

Как отправить GET или POST запрос из файла контроллера Rails?

Всем привет. Есть приложение на рельсах и смс сервер, в апи которого написано, что для отправки смс нужно отправить GET или POST запрос по адресу "http://сервис.ru/sys/send.php?login=логин&psw=паро..."

у меня есть абсолютно рабочий код:
class OrdersController < ApplicationController
  def mainp
  end
  def succsess
  end
  def list
    @order = Order.all
  end
 def new
    @order=Order.new
  end
  def create
    @order = Order.new(order_params)
    if @order.save
# GET or POST request here!
      OrderMailer.new_call(@order).deliver
      flash[:success] = "Спасибо!"
      redirect_to succsess_path
    else
#
    end
  end
  def order_params
    params.require(:order).permit(:name, :phone)
  end
end


что нужно вставить в соответствующую комментарию в коде в строку, что-бы отправить данный запрос?
  • Вопрос задан
  • 4248 просмотров
Решения вопроса 2
MAXOPKA
@MAXOPKA
require 'uri' # подключение библиотеки для работы с адресами возможно в rails это не нужно
uri = URI.parse('http://сервис.ru/sys/send.php') 
params = { login: 'login', password: '12345678' } # хэш с параметрами запроса
uri.query = URI.encode_www_form( params ) # кодирование параметров в строку запроса
require 'net/http' # подключение библиотеки для отправки HTTP запросов
Net::HTTP.get(uri) # собственно запрос
Ответ написан
dluhhbiu
@dluhhbiu
GET:
require 'open-uri'
open("http://сервис.ru/sys/send.php?login=логин&psw=паро...")


POST:
require "net/http"
require "uri"
uri = URI.parse("http://сервис.ru/sys/send.php")
response = Net::HTTP.post_form(uri, {"login" => "логин", "psw" => "паро..."})


А вообще это в гугле можно найти за пару минут
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы