From 061952392afd1dae1aa97a816e9a0c79df7c4514 Mon Sep 17 00:00:00 2001 From: Pratik Naik Date: Thu, 25 Dec 2008 21:27:56 +0000 Subject: Make ActionController#render(string) work as a shortcut for render :file => string. [#1435] Examples: # Instead of render(:file => '/Users/lifo/home.html.erb') render('/Users/lifo/home.html.erb') Note : Filename must begin with a forward slash ('/') --- actionpack/lib/action_controller/base.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'actionpack/lib') diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb index 552075025f..9bf044b6c0 100644 --- a/actionpack/lib/action_controller/base.rb +++ b/actionpack/lib/action_controller/base.rb @@ -865,6 +865,13 @@ module ActionController #:nodoc: return render(:file => default_template, :layout => true) elsif options == :update options = extra_options.merge({ :update => true }) + elsif options.is_a?(String) + case options.index('/') + when 0 + extra_options[:file] = options + end + + options = extra_options end layout = pick_layout(options) @@ -1183,7 +1190,7 @@ module ActionController #:nodoc: end def validate_render_arguments(options, extra_options) - if options && options != :update && !options.is_a?(Hash) + if options && options != :update && !options.is_a?(String) && !options.is_a?(Hash) raise RenderError, "You called render with invalid options : #{options.inspect}" end -- cgit v1.2.3