aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2015-08-07 16:00:57 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2015-08-07 16:00:57 -0700
commit81cfdf2489fe436bb70e0e44c5683c57d0247850 (patch)
tree233d797b6e42661284897698be5cd7e0a8d13b4f /actionpack/lib/action_controller
parent2a3c47ff5d4ed7391d8a2d02a6baa1f1f55a8df3 (diff)
downloadrails-81cfdf2489fe436bb70e0e44c5683c57d0247850.tar.gz
rails-81cfdf2489fe436bb70e0e44c5683c57d0247850.tar.bz2
rails-81cfdf2489fe436bb70e0e44c5683c57d0247850.zip
stop using @_env in the controller instance
Actions are processed through `dispatch`, so they should have the request set on them before any user land code can be executed. Lets stop setting _env on the controller, and give access to it through the `env` method.
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r--actionpack/lib/action_controller/base.rb2
-rw-r--r--actionpack/lib/action_controller/metal.rb5
2 files changed, 3 insertions, 4 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb
index 17371a5392..55734b9774 100644
--- a/actionpack/lib/action_controller/base.rb
+++ b/actionpack/lib/action_controller/base.rb
@@ -252,7 +252,7 @@ module ActionController
# Define some internal variables that should not be propagated to the view.
PROTECTED_IVARS = AbstractController::Rendering::DEFAULT_PROTECTED_INSTANCE_VARIABLES + [
- :@_status, :@_headers, :@_params, :@_env, :@_response, :@_request,
+ :@_status, :@_headers, :@_params, :@_response, :@_request,
:@_view_runtime, :@_stream, :@_url_options, :@_action_has_layout ]
def _protected_ivars # :nodoc:
diff --git a/actionpack/lib/action_controller/metal.rb b/actionpack/lib/action_controller/metal.rb
index dab67452ee..dc2fcf2afa 100644
--- a/actionpack/lib/action_controller/metal.rb
+++ b/actionpack/lib/action_controller/metal.rb
@@ -119,7 +119,7 @@ module ActionController
attr_internal_writer :env
def env
- @_env ||= {}
+ @_request.env
end
# Returns the last part of the controller's name, underscored, without the ending
@@ -215,8 +215,7 @@ module ActionController
def set_request!(request) #:nodoc:
@_request = request
- @_env = request.env
- @_env['action_controller.instance'] = self
+ @_request.controller_instance = self
end
def to_a #:nodoc: