Twilio on Rails帮助:不接收“Digits”参数

时间:2012-03-01 17:01:39

标签: ruby-on-rails-3 twilio

我是Rails和Twilio的新手,我正在尝试运行Twilio Appointment Reminder示例代码。我能够拨打电话,但无法从Twilio获得有关呼叫者按下的数字键的任何反馈。

调用完成后,运行提醒TwiML:此处Gather命令应提示Twilio记录来自呼叫者的单个数字输入:

xml.instruct!
xml.Response do
    xml.Gather(:action => @post_to, :numDigits => 1) do
        xml.Say "Hello this is a call"
    xml.Say "Please press 1 to repeat this menu. Press 2 for directions. Or press 3 if you are done."
    end
end

按下数字后,Twilio应该在控制器中POST到我的指示命令:

def directions
  if params['Digits'] == '3'
    redirect_to :action => 'goodbye'
    return
  end

  if !params['Digits'] or params['Digits'] != '2'
    redirect_to :action => 'reminder'
    return
  end

  @redirect_to = BASE_URL + '/reminder'
  render :action => "directions.xml.builder", :layout => false 
end

然而,每次我打电话给自己并输入一个号码时,呼叫都会循环回原始消息。然后我检查了我的日志,显然没有从Twilio发送的“Digits”参数。

有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

通常在这种情况下发生的事情是,由于URL重写或HTTPS重定向等原因,发布的URL会立即发出重定向。 Twilio遵循重定向,并在随后的GET请求中发送standard set of parameters,其中不包含仅在初始POST上发送到<Gather>操作URL的Digits参数。