aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib')
-rw-r--r--railties/lib/rails/application.rb10
-rw-r--r--railties/lib/rails/engine.rb9
2 files changed, 10 insertions, 9 deletions
diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb
index 4ea828c549..3dba5f78a2 100644
--- a/railties/lib/rails/application.rb
+++ b/railties/lib/rails/application.rb
@@ -121,14 +121,20 @@ module Rails
alias :build_middleware_stack :app
def call(env)
+ if Rails.application == self
+ env["ORIGINAL_SCRIPT_NAME"] = env["SCRIPT_NAME"]
+ env["action_dispatch.parent_routes"] = routes
+ end
+
+ env["action_dispatch.routes"] = routes
app.call(env.reverse_merge!(env_defaults))
end
def env_defaults
- @env_defaults ||= super.merge({
+ @env_defaults ||= {
"action_dispatch.parameter_filter" => config.filter_parameters,
"action_dispatch.secret_token" => config.secret_token
- })
+ }
end
def initializers
diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb
index 22a1a15bf5..401c4ff56b 100644
--- a/railties/lib/rails/engine.rb
+++ b/railties/lib/rails/engine.rb
@@ -159,13 +159,8 @@ module Rails
end
def call(env)
- app.call(env.reverse_merge!(env_defaults))
- end
-
- def env_defaults
- @env_defaults ||= {
- "action_dispatch.routes" => routes
- }
+ env["action_dispatch.routes"] = routes
+ app.call(env)
end
def routes