mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -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:
parent
35ec1c928f
commit
b7df916249
2 changed files with 5 additions and 2 deletions
|
@ -1,5 +1,7 @@
|
||||||
*SVN*
|
*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 doubly appearing parameters due to string and symbol mixups. Closes #2551. [aeden]
|
||||||
|
|
||||||
* Fix overly greedy rescues when loading helpers. Fixes #6268. [Nicholas Seckar]
|
* Fix overly greedy rescues when loading helpers. Fixes #6268. [Nicholas Seckar]
|
||||||
|
|
|
@ -153,9 +153,10 @@ module ActionController #:nodoc:
|
||||||
def stale_session_check!
|
def stale_session_check!
|
||||||
yield
|
yield
|
||||||
rescue ArgumentError => argument_error
|
rescue ArgumentError => argument_error
|
||||||
if argument_error.message =~ %r{undefined class/module ([\w:]+)}
|
if argument_error.message =~ %r{undefined class/module ([\w:]*\w)}
|
||||||
begin
|
begin
|
||||||
Module.const_missing($1)
|
# Note that the regexp does not allow $1 to end with a ':'
|
||||||
|
$1.constantize
|
||||||
rescue LoadError, NameError => const_error
|
rescue LoadError, NameError => const_error
|
||||||
raise ActionController::SessionRestoreError, <<-end_msg
|
raise ActionController::SessionRestoreError, <<-end_msg
|
||||||
Session contains objects whose class definition isn\'t available.
|
Session contains objects whose class definition isn\'t available.
|
||||||
|
|
Loading…
Reference in a new issue