mirror of
https://github.com/github/rails.git
synced 2026-04-04 03:00:58 -04:00
Fixed that a SessionRestoreError was thrown if a model object was placed in the session that wasn't available to all controllers. This means that it's no longer necessary to use the 'model :post' work-around in ApplicationController to have a Post model in your session.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1741 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
*SVN*
|
||||
|
||||
* Fixed that a SessionRestoreError was thrown if a model object was placed in the session that wasn't available to all controllers. This means that it's no longer necessary to use the 'model :post' work-around in ApplicationController to have a Post model in your session.
|
||||
|
||||
|
||||
*1.9.0* (6 July, 2005)
|
||||
|
||||
* Added logging of the request URI in the benchmark statement (makes it easy to grep for slow actions)
|
||||
|
||||
@@ -95,29 +95,22 @@ module ActionController #:nodoc:
|
||||
@session["__valid_session"]
|
||||
return @session
|
||||
rescue ArgumentError => e
|
||||
# TODO: Uncomment this on 0.13.1
|
||||
# if e.message =~ %r{undefined class/module (\w+)}
|
||||
# begin
|
||||
# Module.const_missing($1)
|
||||
# rescue LoadError, NameError => e
|
||||
# raise(
|
||||
# ActionController::SessionRestoreError,
|
||||
# "Session contained objects where the class definition wasn't available. " +
|
||||
# "Remember to require classes for all objects kept in the session. " +
|
||||
# "(Original exception: #{e.message} [#{e.class}])"
|
||||
# )
|
||||
# end
|
||||
#
|
||||
# retry
|
||||
# else
|
||||
# raise
|
||||
# end
|
||||
raise(
|
||||
ActionController::SessionRestoreError,
|
||||
"Session contained objects where the class definition wasn't available. " +
|
||||
"Remember to require classes for all objects kept in the session. " +
|
||||
"(Original exception: #{e.message} [#{e.class}])"
|
||||
)
|
||||
if e.message =~ %r{undefined class/module (\w+)}
|
||||
begin
|
||||
Module.const_missing($1)
|
||||
rescue LoadError, NameError => e
|
||||
raise(
|
||||
ActionController::SessionRestoreError,
|
||||
"Session contained objects where the class definition wasn't available. " +
|
||||
"Remember to require classes for all objects kept in the session. " +
|
||||
"(Original exception: #{e.message} [#{e.class}])"
|
||||
)
|
||||
end
|
||||
|
||||
retry
|
||||
else
|
||||
raise
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user