Skip to content

Instantly share code, notes, and snippets.

@rsanheim
Created June 29, 2011 15:23
Show Gist options
  • Star 12 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save rsanheim/1054078 to your computer and use it in GitHub Desktop.
Save rsanheim/1054078 to your computer and use it in GitHub Desktop.
Devise + Spork + Rails 3.1 RC4 hacks to keep User model from loading prefork
Spork.prefork do
require "rails/application"
# Prevent Devise from loading the User model super early with it's route hacks for Rails 3.1 rc4
# see also: https://github.com/timcharper/spork/wiki/Spork.trap_method-Jujutsu
Spork.trap_method(Rails::Application, :reload_routes!)
Spork.trap_method(Rails::Application::RoutesReloader, :reload!)
# rest of your prefork here...
end
@rsanheim
Copy link
Author

The new line is the RoutesReloader one (line 6) -- apparently Rails 3.1 added that.

@jfirebaugh
Copy link

@jibiel
Copy link

jibiel commented Nov 1, 2012

Too bad it didn't work for me on rails 3.2.8 with devise 2.1.2.

@robbytobby
Copy link

The above fix works for me on rails 3.2.13 with spork 1.0.0rc3 and devise 2.2.4. But it's essential that these lines are the first ones in the prefork block

require "rails/application"
Spork.trap_method(Rails::Application::RoutesReloader, :reload!)
require File.expand_path("../../config/environment", __FILE__)

@DavidVII
Copy link

Thanks, @robbytobby! That worked nicely for me.

@skrobul
Copy link

skrobul commented Jan 20, 2014

works with Rails 4 as well

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment