Note that there are some explanatory texts on larger screens.

plurals
  1. PORouting Error uninitialized constant Users
    primarykey
    data
    text
    <p>I am a rails newbie... I am trying to set up Sign in with facebook for a demo app. I am using OmniAuth and following this tutorial </p> <p><a href="https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview">https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview</a></p> <p>I get this error when redirecting to fB:</p> <pre><code> Routing Error: uninitialized constant Users Try running rake routes for more information on available routes. </code></pre> <p><strong>Environment</strong></p> <pre><code>Windows 7 Rails version :3.2.9.rc2 omniauth-1.1.1 devise-2.1.2 </code></pre> <p>My routes.rb looks like this:</p> <pre><code> root :to =&gt; 'static_pages#home' resources :users get "static_pages/home" match '/auth/facebook' =&gt; 'omniauth#passthru' match '/users/auth/facebook' =&gt; 'users/omniauth_callbacks#passthru' devise_for :users, :controllers =&gt; { :omniauth_callbacks =&gt; "users/omniauth_callbacks" } , :strategy_class =&gt; OmniAuth::Strategies::Facebook </code></pre> <p>devise.rb contains:</p> <pre><code>require 'devise/orm/active_record' require 'omniauth-facebook' config.omniauth_path_prefix = "/users/auth" config.omniauth :facebook, "ABC", "XYZ",{:client_options =&gt; { :ssl =&gt; { :verify =&gt; false } }} </code></pre> <p>And OmniAuthController contains: i.e. app/controllers/omniauth_callbacks_controller.rb</p> <pre><code>class Users::OmniauthCallbacksController &lt; Devise::OmniauthCallbacksController def facebook # You need to implement the method below in your model (e.g. app/models/user.rb) @user = User.find_for_facebook_oauth(request.env["omniauth.auth"], current_user) if @user.persisted? sign_in_and_redirect @user, :event =&gt; :authentication #this will throw if @user is not activated set_flash_message(:notice, :success, :kind =&gt; "Facebook") if is_navigational_format? else session["devise.facebook_data"] = request.env["omniauth.auth"] #redirect_to new_user_registration_url redirect_to "static_pages_home" end end def passthru render :file =&gt; "#{Rails.root}/public/404.html", :status =&gt; 404, :layout =&gt; false # Or alternatively, # raise ActionController::RoutingError.new('Not Found') end end </code></pre> <p>The model User.rb contains:</p> <pre><code>class User &lt; ActiveRecord::Base # Include default devise modules. Others available are: # :token_authenticatable, :confirmable, # :lockable, :timeoutable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable # Setup accessible (or protected) attributes for your model attr_accessible :email, :password, :password_confirmation, :remember_me attr_accessible :date_of_birth, :firstName, :lastName, :mailId, :phone, :provider, :uid devise :omniauthable protected def self.find_for_facebook_oauth(auth, signed_in_resource=nil) user = User.find(:provider =&gt; auth.provider, :uid =&gt; auth.uid).first unless user user = User.create(name:auth.extra.raw_info.name, provider:auth.provider, uid:auth.uid, email:auth.info.email, password:Devise.friendly_token[0,20] ) end user end def self.new_with_session(params, session) super.tap do |user| if data = session["devise.facebook_data"] &amp;&amp; session["devise.facebook_data"]["extra"]["raw_info"] user.email = data["email"] if user.email.blank? end end end end </code></pre> <p>Trace:</p> <p>Started GET "/users/auth/facebook" for 127.0.0.1 at 2012-11-23 22:39:32 -0800 (facebook) Callback phase initiated.</p> <p>Started GET "/users/auth/facebook/callback?</p> <pre><code>state=XYZ&amp;code=ABC" for 127.0.0.1 at 2012-11-23 22:39:33 -0800 ActionController::RoutingError (uninitialized constant Users): activesupport (3.2.9.rc2) lib/active_support/inflector/methods.rb:230:in `block in constantize' activesupport (3.2.9.rc2) lib/active_support/inflector/methods.rb:229:in `each' activesupport (3.2.9.rc2) lib/active_support/inflector/methods.rb:229:in `constantize' actionpack (3.2.9.rc2) lib/action_dispatch/routing/route_set.rb:69:in `controller_reference' actionpack (3.2.9.rc2) lib/action_dispatch/routing/route_set.rb:54:in `controller' actionpack (3.2.9.rc2) lib/action_dispatch/routing/route_set.rb:32:in `call' actionpack (3.2.9.rc2) lib/action_dispatch/routing/mapper.rb:42:in `call' journey (1.0.4) lib/journey/router.rb:68:in `block in call' journey (1.0.4) lib/journey/router.rb:56:in `each' journey (1.0.4) lib/journey/router.rb:56:in `call' actionpack (3.2.9.rc2) lib/action_dispatch/routing/route_set.rb:600:in `call' omniauth (1.1.1) lib/omniauth/strategy.rb:394:in `call_app!' omniauth (1.1.1) lib/omniauth/strategy.rb:356:in `callback_phase' omniauth-oauth2 (1.1.1) lib/omniauth/strategies/oauth2.rb:77:in `callback_phase' omniauth (1.1.1) lib/omniauth/strategy.rb:219:in `callback_call' omniauth (1.1.1) lib/omniauth/strategy.rb:175:in `call!' omniauth (1.1.1) lib/omniauth/strategy.rb:157:in `call' warden (1.2.1) lib/warden/manager.rb:35:in `block in call' warden (1.2.1) lib/warden/manager.rb:34:in `catch' warden (1.2.1) lib/warden/manager.rb:34:in `call' actionpack (3.2.9.rc2) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call' rack (1.4.1) lib/rack/etag.rb:23:in `call' rack (1.4.1) lib/rack/conditionalget.rb:25:in `call' actionpack (3.2.9.rc2) lib/action_dispatch/middleware/head.rb:14:in `call' actionpack (3.2.9.rc2) lib/action_dispatch/middleware/params_parser.rb:21:in `call' actionpack (3.2.9.rc2) lib/action_dispatch/middleware/flash.rb:242:in `call' rack (1.4.1) lib/rack/session/abstract/id.rb:205:in `context' rack (1.4.1) lib/rack/session/abstract/id.rb:200:in `call' actionpack (3.2.9.rc2) lib/action_dispatch/middleware/cookies.rb:341:in `call' activerecord (3.2.9.rc2) lib/active_record/query_cache.rb:64:in `call' activerecord (3.2.9.rc2) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call' actionpack (3.2.9.rc2) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call' activesupport (3.2.9.rc2) lib/active_support/callbacks.rb:405:in `_run__959081092__call__942932381__callbacks' activesupport (3.2.9.rc2) lib/active_support/callbacks.rb:405:in `__run_callback' activesupport (3.2.9.rc2) lib/active_support/callbacks.rb:385:in `_run_call_callbacks' activesupport (3.2.9.rc2) lib/active_support/callbacks.rb:81:in `run_callbacks' actionpack (3.2.9.rc2) lib/action_dispatch/middleware/callbacks.rb:27:in `call' actionpack (3.2.9.rc2) lib/action_dispatch/middleware/reloader.rb:65:in `call' actionpack (3.2.9.rc2) lib/action_dispatch/middleware/remote_ip.rb:31:in `call' actionpack (3.2.9.rc2) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call' actionpack (3.2.9.rc2) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call' railties (3.2.9.rc2) lib/rails/rack/logger.rb:32:in `call_app' railties (3.2.9.rc2) lib/rails/rack/logger.rb:16:in `block in call' activesupport (3.2.9.rc2) lib/active_support/tagged_logging.rb:22:in `tagged' railties (3.2.9.rc2) lib/rails/rack/logger.rb:16:in `call' actionpack (3.2.9.rc2) lib/action_dispatch/middleware/request_id.rb:22:in `call' rack (1.4.1) lib/rack/methodoverride.rb:21:in `call' rack (1.4.1) lib/rack/runtime.rb:17:in `call' activesupport (3.2.9.rc2) lib/active_support/cache/strategy/local_cache.rb:72:in `call' rack (1.4.1) lib/rack/lock.rb:15:in `call' actionpack (3.2.9.rc2) lib/action_dispatch/middleware/static.rb:62:in `call' railties (3.2.9.rc2) lib/rails/engine.rb:479:in `call' railties (3.2.9.rc2) lib/rails/application.rb:223:in `call' rack (1.4.1) lib/rack/content_length.rb:14:in `call' railties (3.2.9.rc2) lib/rails/rack/log_tailer.rb:17:in `call' rack (1.4.1) lib/rack/handler/webrick.rb:59:in `service' c:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service' c:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run' c:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread' Rendered c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/actionpack-3.2.9.rc2/lib/action_dispatch/middleware/templates/rescues/ ing_error.erb within rescues/layout (0.0ms) </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload