ローカルで実行しているアプリがあり、正しく動作します。FacebookでOAuth用のデバイスを設定しました。
アプリをHerokuにプッシュすると、次の例外が発生します。
/app/app/controllers/users_controller.rb:2:in `<class:SessionsController>':
undefined method `devise_for'
for Users::SessionsController:Class (NoMethodError)
しかし、ローカルではこのエラーは発生しません。
Herokuにプッシュした後に実行した手順は次のとおりです。
heroku run rake db:migrate
heroku restart
およびを使用してherokuを再起動しましたheroku ps:restart
したがって、問題は、サーバーを再起動する必要があるということではありません。
これが私のgemfileです:
source 'https://rubygems.org'
gem 'rails', '3.2.12'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'pg'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
gem 'therubyracer', :platforms => :ruby
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
gem 'devise'
gem 'omniauth'
gem 'omniauth-facebook'
何が問題になる可能性がありますか?
編集
エラーがポイントする最初の行は次のとおりです。
# app/controllers/users/users_controller
class Users::SessionsController < Devise::SessionsController
devise_for :users, :controllers => { :sessions => "users/sessions" }
end