diff options
author | Yehuda Katz + Carl Lerche <ykatz+clerche@engineyard.com> | 2009-05-22 12:28:40 -0700 |
---|---|---|
committer | Yehuda Katz + Carl Lerche <ykatz+clerche@engineyard.com> | 2009-05-22 15:24:31 -0700 |
commit | 01129534cde293e3561dd7cc3cb5ae9ac3de9e8c (patch) | |
tree | b652a0d98cff4d8b9f2ef9b6e95fb234b8d54027 /actionpack/lib/action_controller/new_base | |
parent | e976c489e6416cdc4714721df78dd43dd6d13d99 (diff) | |
download | rails-01129534cde293e3561dd7cc3cb5ae9ac3de9e8c.tar.gz rails-01129534cde293e3561dd7cc3cb5ae9ac3de9e8c.tar.bz2 rails-01129534cde293e3561dd7cc3cb5ae9ac3de9e8c.zip |
Cleaned up the #render_to_body chain by extracting determining the templates to render to a separate hook point.
Diffstat (limited to 'actionpack/lib/action_controller/new_base')
-rw-r--r-- | actionpack/lib/action_controller/new_base/renderer.rb | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/actionpack/lib/action_controller/new_base/renderer.rb b/actionpack/lib/action_controller/new_base/renderer.rb index 59df3c51da..987751a601 100644 --- a/actionpack/lib/action_controller/new_base/renderer.rb +++ b/actionpack/lib/action_controller/new_base/renderer.rb @@ -27,6 +27,20 @@ module ActionController def render_to_body(options) _process_options(options) + if options.key?(:partial) + _render_partial(options[:partial], options) + end + + super + end + + private + + def _prefix + controller_path + end + + def _determine_template(options) if options.key?(:text) options[:_template] = ActionView::TextTemplate.new(options[:text], formats.first) elsif options.key?(:inline) @@ -37,21 +51,13 @@ module ActionController options[:_template_name] = options[:template] elsif options.key?(:file) options[:_template_name] = options[:file] - elsif options.key?(:partial) - _render_partial(options[:partial], options) - else + elsif !options.key?(:partial) options[:_template_name] = (options[:action] || action_name).to_s options[:_prefix] = _prefix end super end - - private - - def _prefix - controller_path - end def _render_partial(partial, options) case partial |