1

我正在尝试构建一个呼叫跟踪应用程序来学习 twilio 和 rails。现在,我正在添加购买电话号码的功能。

我想在我的创建操作中执行 if/else 语句,如果电话号码已保存到数据库中,并且实际购买了 twilio 号码,则执行此操作,否则执行此操作。

但是,twilio 数字不会返回 true 或 false。这是他们在文档中所说的:

HTTP POST

为您的帐户购买一个新的电话号码。如果为您的请求找到电话号码,Twilio 会将其添加到您的帐户中,并向您收取电话号码第一个月的费用。如果 Twilio 找不到与您的请求匹配的电话号码,您将收到带有 Twilio 错误代码 21452 的 HTTP 400。

所以,我想做的是构建一个 if 语句,如果返回是 HTTP 400,那么执行 x.

这是我目前拥有的代码

  #This saves the Twilio number to the database, and buys it. 
  def create
    @user = current_user
    @phone = @user.phones.build(params[:phone])
    client = Twilio::REST::Client.new(@user.twilio_account_sid, @user.twilio_auth_token)
    number = client.account.incoming_phone_numbers.create({:phone_number => @phone.twilio_number, :voice_url => VOICE_URL, :voice_method => "POST"})
   if @phone.save && number.true
      flash[:success] = "Phone Number Created!"
      redirect_to user_path
    else
      render new_phone_path
      flash[:error] = "It looks like there were errors with the submission"
    end
  end

我需要更改 && number.true 以引用 HTTP 400 错误吗?

我不确定这是否可能——所以如果你有想法,我会全神贯注:)。

4

1 回答 1

0

三年后,我只想分享我们在 Rails 中提供了一个功能齐全的呼叫跟踪教程,以帮助您更快地启动和运行:

https://www.twilio.com/docs/tutorials/walkthrough/call-tracking/ruby/rails

该应用程序具有三个主要功能:

  • 它从 Twilio 购买电话号码以用于不同的营销活动(如广告牌或公共汽车广告)
  • 它将这些电话号码的来电转发给销售人员
  • 它显示图表,显示有关电话号码和他们收到的电话的数据

在开始之前,您需要确保获取Ruby 帮助程序库

于 2016-08-09T20:46:00.207 回答