0

我是 Twilio 和 Ruby 的新手,正在尝试弄清楚如何“重定向”或将请求发送到另一个 url。我不需要在这一步收集数据,只需评估传递的参数并将其发送到一个方向或另一个方向。有什么帮助吗?

 post '/ors_verified/ors/:ors_number' do |ors_number|
     number_correct = params['Digits']
     if number_correct == '1'
          redirect "/how_many_irt/ors/#{ors_number}"
     else 
          redirect '/how_many_ors'
 end
 end
4

3 回答 3

2

你可以使用:redirect_to而不是redirect这样

post '/ors_verified/ors/:ors_number' do |ors_number|
 number_correct = params['Digits']
 if number_correct == '1'
      redirect_to "/how_many_irt/ors/#{ors_number}"
 else 
      redirect_to '/how_many_ors'
 end
end
于 2012-11-29T22:43:36.527 回答
2

所以问题是我需要将它包装成一个 twillio 响应。

 post '/ors_verified/ors/:ors_number' do |ors_number|
    number_correct = params['Digits']
   Twilio::TwiML::Response.new do |r|
    if number_correct == '1'
      r.Redirect "/how_many_irt/ors/#{ors_number}"
    else 
      r.Redirect '/how_many_ors'
    end
   end.text 
end
于 2012-12-03T19:45:32.333 回答
0

由于您似乎正在使用 sinatra,因此重定向应如下所示:

 post '/ors_verified/ors/:ors_number' do |ors_number|
     number_correct = params['Digits']
     if number_correct == '1'
          redirect to("/how_many_irt/ors/#{ors_number}") # <-- notice the #to
     else 
          redirect to('/how_many_ors') # <-- notice the #to
     end
 end

基本上从您的#to字符串创建另一个对象,sinatra 可以对其进行操作。您可以在此处阅读有关 sinatra 重定向的信息

于 2012-11-30T00:15:43.427 回答