Twilio 库在 Rails 中不起作用,但在 Rails 之外工作?



第一次在这里发帖(温柔点,我做了调查!)

我是从另一种语言学来的,刚开始接触Ruby生态系统,但这让我觉得很奇怪。我已经将twilio-ruby库添加到我的Gemfile中,完成bundle install/尝试bundle update

bundle show twilio-ruby~/.rvm/宝石/ruby-2.1.2/珠宝/twilio-ruby-3.11.5

然而,当尝试任何示例时,我得到以下错误:

Undefined method 'messages' for #<Twilio::REST::Client::Account:0x00000102cea740>

代替调用,等等。没有什么工作。甚至没有@client.account.sms。消息(遗留调用)。

熟悉pry,做过@client。撬取self.account.methods.sort,这些方法/类成员根本不存在于模块中。

那么什么是有效的呢?ruby测试。rb包含:

@client = Twilio::REST::Client.new '{{removed}}', '{{removed}}'
#@client.pry

p @client.account.messages.create(
  :from => '+1XXX',
  :to => '+1XXX',
  :body => 'Hey there!'
)

如果我把相同的代码放在我的应用程序的顶部。Rb,在应用程序类声明之外,它可以工作。

我还试过别的地方吗?控制器、模型、在控制器/模型中导入和调用的独立类。似乎在Rails启动后它不起作用。我很困惑。

我很擅长调试,所以任何在这方面的建议都会很感激!

版本号:Ruby 2.1.2, Rails 4.0.4, twilio-ruby 3.11.5

每次修改后,我都会重新启动rails服务器。

更新
config/application.rb
require 'twilio-ruby'
@client = Twilio::REST::Client.new '{{removed}}', '{{removed}}'
#@client.pry

p @client.account.messages.create(
  :from => '+',
  :to => '+',
  :body => 'Hey there!'
)
Bundler.require(:default, Rails.env)
#require 'twilio-ruby'
@client = Twilio::REST::Client.new '{{removed}}', '{{removed}}'
#@client.pry

p @client.account.messages.create(
  :from => '+',
  :to => '+',
  :body => 'Hey there!'
)

在调用绑定器之前调用twilio-ruby。

在调用bundle后调用twilio-ruby不起作用

6年后,我分享了这个问题的罪魁祸首:春天

我运行spring stop,突然一切都像预期的那样加载。

最新更新