aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/base.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_controller/base.rb')
-rwxr-xr-xactionpack/lib/action_controller/base.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb
index 9aab2c5028..c1adbf3b8a 100755
--- a/actionpack/lib/action_controller/base.rb
+++ b/actionpack/lib/action_controller/base.rb
@@ -937,7 +937,17 @@ module ActionController #:nodoc:
end
def default_template_name(default_action_name = action_name)
+ default_action_name = default_action_name.dup
+ strip_out_controller!(default_action_name) if template_path_includes_controller?(default_action_name)
"#{self.class.controller_path}/#{default_action_name}"
end
+
+ def strip_out_controller!(path)
+ path.replace path.split('/', 2).last
+ end
+
+ def template_path_includes_controller?(path)
+ path.to_s['/'] && self.class.controller_path.split('/')[-1] == path.split('/')[0]
+ end
end
end