From 484361e815170947eb21ace0ab9f7faa54416aca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Thu, 25 Feb 2010 07:54:06 +0100 Subject: [PATCH] Improve error message on undefined method devise. --- lib/devise/rails/routes.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/devise/rails/routes.rb b/lib/devise/rails/routes.rb index 30502ecda5..7fd9257f1f 100644 --- a/lib/devise/rails/routes.rb +++ b/lib/devise/rails/routes.rb @@ -93,6 +93,12 @@ def devise_for(*resources) resources.each do |resource| mapping = Devise::Mapping.new(resource, options.dup) + unless mapping.to.respond_to?(:devise) + raise "#{mapping.to.name} does not respond to 'devise' method. This usually means you haven't " << + "loaded your ORM file or it's being loaded to late. To fix it, be sure to require 'devise/orm/YOUR_ORM' " << + "inside 'config/initializers/devise.rb' or before your application definition in 'config/application.rb'" + end + Devise.default_scope ||= mapping.name Devise.mappings[mapping.name] = mapping