aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2015-08-05 17:13:19 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2015-08-05 17:13:19 -0700
commita31bfe69837b63a6501925d37e1ebd149e90e1a0 (patch)
treecb77c996a7f7743d2f7fd1f0d88cfe17fc189698
parentdf71e48be8b08edf287a0ec855342c89bbb94218 (diff)
downloadrails-a31bfe69837b63a6501925d37e1ebd149e90e1a0.tar.gz
rails-a31bfe69837b63a6501925d37e1ebd149e90e1a0.tar.bz2
rails-a31bfe69837b63a6501925d37e1ebd149e90e1a0.zip
routes in the env via the request object
-rw-r--r--actionpack/lib/action_dispatch/http/request.rb4
-rw-r--r--railties/lib/rails/engine.rb5
2 files changed, 6 insertions, 3 deletions
diff --git a/actionpack/lib/action_dispatch/http/request.rb b/actionpack/lib/action_dispatch/http/request.rb
index 802e7ce539..a0d8f552ac 100644
--- a/actionpack/lib/action_dispatch/http/request.rb
+++ b/actionpack/lib/action_dispatch/http/request.rb
@@ -110,6 +110,10 @@ module ActionDispatch
env["action_dispatch.routes".freeze]
end
+ def routes=(routes) # :nodoc:
+ env["action_dispatch.routes".freeze] = routes
+ end
+
def original_script_name # :nodoc:
env['ORIGINAL_SCRIPT_NAME'.freeze]
end
diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb
index 3ec5a949a7..07d0c270b7 100644
--- a/railties/lib/rails/engine.rb
+++ b/railties/lib/rails/engine.rb
@@ -520,15 +520,14 @@ module Rails
def call(env)
env.merge!(env_config)
req = ActionDispatch::Request.new env
+ req.routes = routes
req.engine_script_name = req.script_name
app.call(env)
end
# Defines additional Rack env configuration that is added on each call.
def env_config
- @env_config ||= {
- 'action_dispatch.routes' => routes
- }
+ @env_config ||= {}
end
# Defines the routes for this engine. If a block is given to