2013-09-28 5 views
3

После учебника для Twilio Client. Застрял здесь, где вы делаете тестирование https://www.twilio.com/docs/quickstart/ruby/client/incoming-callsWEBrick :: HTTPStatus :: LengthRequired with Twilio

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 в качестве URL-адреса обратного вызова на панели управления. Какие-либо предложения?

ответ

1

Голосовой URL не обязательно должен быть POST-запросом, это может быть запрос GET. На панели инструментов приложения вы можете изменить тип URL-адреса голосового запроса на GET, а затем изменить свой route.rb для использования get.

Использование «localhost» в качестве домена не будет работать, так как URL-адрес должен указывать на ваш веб-сервер. Вместо этого вам нужен полный URL-адрес вашего веб-сервера, который вы можете выполнить с помощью чего-то вроде ngrok.