使用Twilio的WEBrick :: HTTPStatus :: LengthRequired

时间:2013-09-28 04:26:36

标签: ruby-on-rails ruby ruby-on-rails-3 twilio webrick

遵循Twilio Client教程。卡在这里进行测试 https://www.twilio.com/docs/quickstart/ruby/client/incoming-calls

curl -X POST http://localhost:3000/voice

我一直收到WEBrick :: HTTPStatus :: LengthRequired响应。

当我把它作为

curl -X POST http://localhost:3000/voice -d ''

有效。但是我如何在我的路线或控制器中解决这个问题呢?

的routes.rb

post 'voice', to: 'calls#voice', as: :voice

控制器

def voice
    response = Twilio::TwiML::Response.new do |r|
    # Should be your Twilio Number or a verified Caller ID
        r.Dial :callerId => '+16479316790' do |d|
            d.Client 'jenny'
        end
    end
    render :text => response.text
end

谢谢! 此外,如果您之前已完成此操作...无法在仪表板中添加localhost:3000作为回调网址。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

语音UR​​L不需要是POST请求,它可以是GET请求。在App仪表板中,您可以将语音请求URL的类型更改为GET,然后修改routes.rb以使用get。

使用“localhost”作为域将无法正常工作,因为您希望URL指向您的网络服务器。你想要的是你的网络服务器的完整URL,你可以使用ngrok

之类的东西来完成