为语音呼叫集成问题生成的 twilio 功能令牌

twilio capability token generate for voice call integration issue

错误:"uninitialized constant TwilioCapability"

Twilio 功能令牌在实时站点上生成问题并且暂存它工作正常。

这是我生成 Twilio 能力令牌的代码

class Twilio::TokenController < ApplicationController
  skip_before_filter :verify_authenticity_token

  def generate
    token = ::TwilioCapability.generate("#{params[:appointment_id]}#{params[:from_type]}")
    render json: { token: token }
  end
end

twilocapabilty.rb file code

class TwilioCapability
  def self.generate(id)
    account_sid = ENV['TWILIO_ACCOUNT_SID']
    auth_token  = ENV['TWILIO_AUTH_TOKEN']
    capability = Twilio::Util::Capability.new account_sid, auth_token

    application_sid = ENV['TWIML_APPLICATION_SID']
    capability.allow_client_outgoing application_sid
    capability.allow_client_incoming id

    capability.generate
  end
end

这里是 Twilio 开发人员布道者。

我认为这可能有几个问题,主要在 this existing SO question 中回答。

首先,确保如果您的 class 被称为 TwilioCapability,那么文件名通过 Rails 命名规则匹配它。应该叫twilio_capability.rb.

除此之外,我猜您将文件保存在 lib 目录中(因此它应该是 lib/twilio_capability.rb)。如果您还没有在生产环境中从 lib 自动加载文件,那么您应该将以下内容添加到您的 config/application.rb:

config.autoload_paths << Rails.root.join('lib')

如果有帮助请告诉我。