NameError - 未初始化的常量 Twilio::TwiML::Response(可能来自旧 API 代码?)
Posted
技术标签:
【中文标题】NameError - 未初始化的常量 Twilio::TwiML::Response(可能来自旧 API 代码?)【英文标题】:NameError - uninitialized constant Twilio::TwiML::Response (Possibly from old API Code?) 【发布时间】:2018-07-02 19:17:19 【问题描述】:我需要一些帮助来设置在 Sinatra 上运行的 Twilio SMS 广播应用程序。他们基于本教程构建:Send Mass SMS Broadcasts in Ruby
当我进行 HTTP POST 时,我在运行 Sinatra 和 Ngrok 时在终端中收到此消息。
NameError - uninitialized constant Twilio::TwiML::Response
Did you mean? Twilio::Response:
broadcast.rb:75:in `send_to_me'
broadcast.rb:53:in `block in <main>'
有问题的代码是:
def send_to_contacts(body, media_url = nil)
response = Twilio::TwiML::Response.new do |r|
contacts_numbers.each do |num|
r.Message to: num do |msg|
msg.Body body
msg.Media media_url unless media_url.nil?
end
end
end
response.text
end
def send_to_me(from, body, media_url = nil)
name = contact_name(from)
body = "#name (#from):\n#body"
response = Twilio::TwiML::Response.new do |r|
r.Message to: MY_NUMBER do |msg|
msg.Body body
msg.Media media_url unless media_url.nil?
end
end
response.text
end
我注意到大多数新的 Twilio walkthrus 现在都在使用带有
的 API Auths & Tokens@client = Twilio::REST::Client.new account_sid, auth_token
这是我需要实施的吗?关于如何将这两种方法迁移到该类型的格式并保留我的功能的任何指导?
谢谢!
【问题讨论】:
试试::Twilio::TwiML::Response
。
很遗憾,这不起作用。
【参考方案1】:
更新:
Twilio::TwiML::Response 已被 Twilio::TwiML::VoiceResponse 和 Twilio::TwiML::MessagingResponse 取代。当我将代码更改为此时,它起作用了:
def send_to_contacts(body, media_url = nil)
response = Twilio::TwiML::MessagingResponse.new do |r|
contacts_numbers.each do |num|
r.message to: num do |msg|
msg.body body
msg.media media_url unless media_url.nil?
end
end
end
puts response
end
def send_to_me(from, body, media_url = nil)
name = contact_name(from)
body = "#name (#from):\n#body"
response = Twilio::TwiML::MessagingResponse.new do |r|
r.message to: MY_NUMBER do |msg|
msg.body body
msg.media media_url unless media_url.nil?
end
end
puts response
end
【讨论】:
以上是关于NameError - 未初始化的常量 Twilio::TwiML::Response(可能来自旧 API 代码?)的主要内容,如果未能解决你的问题,请参考以下文章
NameError - 未初始化的常量 Sass::Engine:
NameError 未初始化常量 Model::Object
未初始化的常量 ActionDispatch::Session::EncryptedCookieStore (NameError)