#ruby-on-rails #twilio
# #ruby-on-rails #twilio
Вопрос:
Первый постер здесь (будьте осторожны, я провел свое исследование!)
Я новичок в экосистеме Ruby, пришедший с другого языка, но это кажется мне странным. Я добавил библиотеку twilio-ruby в свой Gemfile, выполнил установку пакета / попробовал обновление пакета
пакет показывает twilio-ruby ~/.rvm/gems/ruby-2.1.2/gems/twilio-ruby-3.11.5
Тем не менее, я получаю следующую ошибку при попытке любого из примеров.
Undefined method 'messages' for #<Twilio::REST::Client::Account:0x00000102cea740>
Замените вызовы и т. Д. И т. Д. Ничего не работает. Даже @client.account.sms.messages (устаревшие вызовы).
Я знаком с pry и сделал @client.извлеките self.account.methods.sort, и эти методы / члены класса вообще не присутствуют в модуле.
Так что же работает? ruby test.rb, содержащий:
@client = Twilio::REST::Client.new '{{removed}}', '{{removed}}'
#@client.pry
p @client.account.messages.create(
:from => ' 1XXX',
:to => ' 1XXX',
:body => 'Hey there!'
)
Если я помещу тот же код в начало моего application.rb, вне разделения класса приложения это сработает.
Где еще я пробовал? Контроллеры, модели, автономные классы импортируются и вызываются в controllers/models. Кажется, после загрузки 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 перед вызовом bundler работает.
вызов twilio-ruby после вызова bundler не работает.
Комментарии:
1. Это определенно странно (и не поддается воспроизведению для меня). Происходит ли это по-прежнему, если вы запускаете пустой проект Rails, добавляя только
twilio-ruby
драгоценный камень?2.Работает ли это, если вы раскомментируете сообщение
require 'twilio-ruby'
послеBundler.requre
вызова?3. Попробуйте с помощью @client.account.sms.messages.create
4. У вас все еще есть эта проблема? Я написал два подробных сообщения в блоге об интеграции Twilio в приложение Rails 4.x: часть 1 и часть 2 .
Ответ №1:
прошло 6 лет, и я делюсь с вами виновником этой проблемы: весна
Я запустил spring stop
, и внезапно все загрузилось, как ожидалось.