Permalink
Browse files

Change session restoration to allow namespaced models to be autoloaded.

Closes #6348.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6054 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 35ec1c9 commit b7df9162492383e2186762d85586b27ca120a1dd @seckar seckar committed Jan 28, 2007
Showing with 5 additions and 2 deletions.
  1. +2 −0 actionpack/CHANGELOG
  2. +3 −2 actionpack/lib/action_controller/cgi_process.rb
View
@@ -1,5 +1,7 @@
*SVN*
+* Change session restoration to allow namespaced models to be autoloaded. Closes #6348. [Nicholas Seckar]
+
* Fix doubly appearing parameters due to string and symbol mixups. Closes #2551. [aeden]
* Fix overly greedy rescues when loading helpers. Fixes #6268. [Nicholas Seckar]
@@ -153,9 +153,10 @@ def new_session
def stale_session_check!
yield
rescue ArgumentError => argument_error
- if argument_error.message =~ %r{undefined class/module ([\w:]+)}
+ if argument_error.message =~ %r{undefined class/module ([\w:]*\w)}
begin
- Module.const_missing($1)
+ # Note that the regexp does not allow $1 to end with a ':'
+ $1.constantize
rescue LoadError, NameError => const_error
raise ActionController::SessionRestoreError, <<-end_msg
Session contains objects whose class definition isn\'t available.

0 comments on commit b7df916

Please sign in to comment.