mirror of
https://github.com/github/rails.git
synced 2026-02-04 03:05:27 -05:00
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
This commit is contained in:
@@ -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 @@ module ActionController #:nodoc:
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user