diff options
author | Pratik Naik <pratiknaik@gmail.com> | 2008-12-25 21:27:56 +0000 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2008-12-25 21:43:07 +0000 |
commit | 061952392afd1dae1aa97a816e9a0c79df7c4514 (patch) | |
tree | ce5599e69468632d5898ddb5088f0d729e4ddc91 /actionpack/lib/action_controller | |
parent | dd0753458f2a16c876c52734f84a242f56746607 (diff) | |
download | rails-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')
-rw-r--r-- | actionpack/lib/action_controller/base.rb | 9 |
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 |