aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/base.rb
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2008-12-25 21:27:56 +0000
committerPratik Naik <pratiknaik@gmail.com>2008-12-25 21:43:07 +0000
commit061952392afd1dae1aa97a816e9a0c79df7c4514 (patch)
treece5599e69468632d5898ddb5088f0d729e4ddc91 /actionpack/lib/action_controller/base.rb
parentdd0753458f2a16c876c52734f84a242f56746607 (diff)
downloadrails-061952392afd1dae1aa97a816e9a0c79df7c4514.tar.gz
rails-061952392afd1dae1aa97a816e9a0c79df7c4514.tar.bz2
rails-061952392afd1dae1aa97a816e9a0c79df7c4514.zip
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 ('/')
Diffstat (limited to 'actionpack/lib/action_controller/base.rb')
-rw-r--r--actionpack/lib/action_controller/base.rb9
1 files changed, 8 insertions, 1 deletions
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