2014-12-16 5 views
0

У меня есть контроллер, который работает с входящими запросами GET.Ответ на запрос HTTP GET, Rails

запрос GET:

http://localhost:3000/sms/receive?sms-id=7bb28e244189f2cf36cbebb9d1d4d02001da53ab&operator-%20id=1&from=37126300682&to=371144&text=IL3+68975&charged=1 

В обоих случаях мне нужно ответить запрос GET с 2 переменными цена и ответ.

У меня есть PHP пример, который работает:

if (empty($login)){ // Ja abonents nav noradijis lietotajvardu (login), no vina netiek nonemta nauda un tiek nosutita kludas SMS 
    $price = 0.10; 
    $answer = "Atvainojiet, Jus neesat noradijusi lietotajvardu (login)SMS teksta. Uzmanigi parbaudiet nosutito tekstu!"; 
}else{ // Ja lietotajvards (login) noradits, abonents tiek tarificets 
    $price = 1.00; 
    $answer = "Paldies, ".$login."! Jusu SMS pienemta. Pakalpojuma cena ".$price.". Pakalpojums tiks piedavats pec apmaksas apstiprinajuma"; 
} 
header("x-esteria-price: ".sprintf("%.2f", $price)); 
echo $answer; 
exit(); 

Но я не могу понять, как сделать то же самое в Rails 4. я пытался, как это до сих пор:

Контроллер:

if @billing.present? && @advertisement.present? 
    params[:answer] = "Paldies #{@advertisement.identifier} Jusu SMS pienemta. Pakalpojuma cena . Pakalpojums tiks piedavats pec apmaksas apstiprinajuma" 
    params[:price] = @billing.price 
    request.headers["x-esteria-price: 0.95"] 

else 
    params[:answer] = "Atvainojiet, Jus neesat noradijusi lietotajvardu (login)SMS teksta. Uzmanigi parbaudiet nosutito tekstu!" 
    params[:price] = 0.10 #???   
    request.headers["x-esteria-price: 0.10"] 
    end 

При выполнении этого кода не отображается сообщение об ошибке.

Любые советы? Спасибо заранее!

+0

Итак, ваша проблема в том, что вы не ошибаетесь? –

+0

@RobertHarvey Я не знаю, как проверить, является ли ответ успешным или нет. И я не знаю, правильно ли я делаю это. – Edgars

ответ

1

Эта линия

request.headers["x-esteria-price: 0.10"] 

редактирует заголовок запроса не ответ. Переключитесь на запрос ответа.

response.headers["x-esteria-price: 0.10"] 
+0

Спасибо, как я могу проверить эти ответы, если я работаю над своей машиной локали? – Edgars

+1

Используйте [cURL] (http://curl.haxx.se/docs/httpscripting.html), чтобы отправить запрос на localhost и посмотреть заголовки. – eabraham

Смежные вопросы