RMeetup gem を使用して、meetup.com からデータを取得しています。開発モードでは、このコードをコントローラー、モデル、またはヘルパーで問題なく機能させることができます。
RMeetup::Client.api_key = "matt's key"
RMeetup::Client.fetch(:groups, :lat => @user.latitude, :lon => @user.longitude")
しかし、デプロイしようとすると、Heroku から次のように言われます。
app[web.1]: NameError (uninitialized constant RMeetup::Client):
私は Rails の初心者で、この問題を解決する方法がわかりません。この情報をより適切に収容して問題を解決するために、新しい RMeetup モデルを作成しようとしましたが、Rails は次のように教えてくれます。
The name 'RMeetup' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this generator again.
RMeetup gem は、私の gemfile の dev セクションだけにあるわけではありません。問題を複雑にしているのは、ユーザーがフォームに入力するまで、Meetup.com から受け取ったデータを実際に保存していないことです。そのため、RMeetup のフェッチ操作の結果からモデルを構築する自然な場所がありません。私は現在、ヘルパーまたはコントローラーでそれを行っています。
では、ローカルの開発者は "RMeetup::Client" に問題がないのに、Heroku には問題があるのはなぜですか? どうすれば修正できますか?
リクエストに応じて、ここにも Gemfile があります。
source 'https://rubygems.org'
ruby '2.0.0'
gem 'rails', '4.0.0'
gem 'bcrypt-ruby', '3.0.1'
gem 'pg', '0.15.1'
gem 'geocoder'
gem 'rmagick'
gem 'carrierwave'
gem 'rMeetup'
group :development, :test do
gem 'rspec-rails', '2.13.1'
gem 'puma'
end
group :test do
gem 'selenium-webdriver', '2.0.0'
gem 'capybara', '2.1.0'
end
gem 'sass-rails', '4.0.0'
gem 'uglifier'
gem 'coffee-rails', '4.0.0'
gem 'jquery-rails', '2.2.1'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'
group :doc do
gem 'sdoc', '0.3.20', require: false
end
group :production do
gem 'rails_12factor', '0.0.2'
end