ruby-on-rails - WEBrick::HTTPStatus::LengthRequired 与 Twilio

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

遵循 Twilio 客户端教程。卡在你做测试的地方 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 ''

它有效。但是我该如何在我的路线或 Controller 中解决这个问题?

路线.rb

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

Controller

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 作为回调 URL 时遇到问题。有什么建议吗?

最佳答案

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

使用“localhost”作为域将无法正常工作,因为需要 URL 指向您的网络服务器。相反,您想要的是 Web 服务器的完整 URL,您可以使用 ngrok 之类的东西来完成它。 .

关于ruby-on-rails - WEBrick::HTTPStatus::LengthRequired 与 Twilio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19063254/

相关文章:

ruby-on-rails - Rails 3. 按关联模型排序

ruby - 动态定义实例方法而不是类方法

mysql - 具有连接表关系的事件管理

ruby-on-rails-3 - 无法将 HashWithIndifferentAccess 转换为字符串?

ruby-on-rails - rails 3 : ActiveResource custom method call - ClientError 414 - Work around?

javascript - 来自 Google Analytics api 的 JSON 响应

mysql - 在 Rails 中连接两个表,但不在主键上连接

ruby-on-rails - 覆盖供应商 scss 包括

java - 使用Java代码进行映射器和化简器的EMR流作业

mysql - Rails 3 SQL 查询选择与连接