写入对HTTP GET请求的响应,Rails

时间:2014-12-16 19:09:17

标签: ruby-on-rails get response

我有控制器正在处理传入的GET请求。

GET请求:

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

在这两种情况下,我都需要通过2个变量价格回答来回复GET请求。

我有一个有效的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

执行此代码时,没有显示错误消息。

任何提示? 提前谢谢!

1 个答案:

答案 0 :(得分:1)

这一行

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

正在编辑请求的标头而不是响应。切换到请求回复。

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