我在我的Rails应用中使用gem for gmail。我的Gemfile包含:
gem 'gmail-api-ruby', :require => 'Gmail'
在我的控制器中,我初始化gem(使用devise / omniauth从Google获取refresh_token
):
Gmail.client_id = ENV['CLIENT_ID']
Gmail.client_secret = ENV['CLIENT_SECRET']
Gmail.refresh_token = current_user.refresh_token
这在开发中工作正常,但是当我部署到Heroku时,我收到以下错误:
/app/vendor/bundle/ruby/2.2.0/gems/bundler-1.7.12/lib/bundler/runtime.rb:76:in `require': cannot load such file -- Gmail (LoadError)
我无法弄清楚原因。我应该在我的应用程序的其他地方要求宝石吗?
答案 0 :(得分:3)
require
区分大小写。
更改为:require => 'gmail'
而不是Gmail
,您应该没问题。
答案 1 :(得分:0)
只需从require
中移除无用的Gemfile
选项,因为bundler
可以在此gem中加载类,而不会在您的情况下指定require
选项。
gem 'gmail-api-ruby', '~> 0.0.10'
并运行bundle install
。
仅供参考:阅读有关require
选项here的内容。