mirror of https://github.com/rails/rails
Revert "Revert "Merge pull request #16888 from jejacks0n/render_template""
This reverts commit 585e75696b
.
This commit is contained in:
parent
b008e4bd8a
commit
b5571b3ccf
|
@ -1,3 +1,12 @@
|
|||
* Changed the meaning of `render "foo/bar"`.
|
||||
|
||||
Previously, calling `render "foo/bar"` in a controller action is equivalent
|
||||
to `render file: "foo/bar"`. In Rails 4.2, this has been changed to mean
|
||||
`render template: "foo/bar"` instead. If you need to render a file, please
|
||||
change your code to use the explicit form (`render file: "foo/bar"`) instead.
|
||||
|
||||
*Jeremy Jackson*
|
||||
|
||||
* Add support for ARIA attributes in tags.
|
||||
|
||||
Example:
|
||||
|
|
|
@ -108,7 +108,7 @@ module ActionView
|
|||
end
|
||||
|
||||
# Normalize args by converting render "foo" to render :action => "foo" and
|
||||
# render "foo/bar" to render :file => "foo/bar".
|
||||
# render "foo/bar" to render :template => "foo/bar".
|
||||
# :api: private
|
||||
def _normalize_args(action=nil, options={})
|
||||
options = super(action, options)
|
||||
|
@ -118,7 +118,7 @@ module ActionView
|
|||
options = action
|
||||
when String, Symbol
|
||||
action = action.to_s
|
||||
key = action.include?(?/) ? :file : :action
|
||||
key = action.include?(?/) ? :template : :action
|
||||
options[key] = action
|
||||
else
|
||||
options[:partial] = action
|
||||
|
|
|
@ -91,17 +91,17 @@ class TestController < ApplicationController
|
|||
|
||||
# :ported:
|
||||
def render_hello_world
|
||||
render :template => "test/hello_world"
|
||||
render "test/hello_world"
|
||||
end
|
||||
|
||||
def render_hello_world_with_last_modified_set
|
||||
response.last_modified = Date.new(2008, 10, 10).to_time
|
||||
render :template => "test/hello_world"
|
||||
render "test/hello_world"
|
||||
end
|
||||
|
||||
# :ported: compatibility
|
||||
def render_hello_world_with_forward_slash
|
||||
render :template => "/test/hello_world"
|
||||
render "/test/hello_world"
|
||||
end
|
||||
|
||||
# :ported:
|
||||
|
@ -111,7 +111,7 @@ class TestController < ApplicationController
|
|||
|
||||
# :deprecated:
|
||||
def render_template_in_top_directory_with_slash
|
||||
render :template => '/shared'
|
||||
render '/shared'
|
||||
end
|
||||
|
||||
# :ported:
|
||||
|
@ -159,13 +159,6 @@ class TestController < ApplicationController
|
|||
render :file => path
|
||||
end
|
||||
|
||||
# :ported:
|
||||
def render_file_as_string_with_instance_variables
|
||||
@secret = 'in the sauce'
|
||||
path = File.expand_path(File.join(File.dirname(__FILE__), '../../fixtures/test/render_file_with_ivar'))
|
||||
render path
|
||||
end
|
||||
|
||||
# :ported:
|
||||
def render_file_not_using_full_path
|
||||
@secret = 'in the sauce'
|
||||
|
@ -194,7 +187,7 @@ class TestController < ApplicationController
|
|||
|
||||
def render_file_as_string_with_locals
|
||||
path = File.expand_path(File.join(File.dirname(__FILE__), '../../fixtures/test/render_file_with_locals'))
|
||||
render path, :locals => {:secret => 'in the sauce'}
|
||||
render file: path, :locals => {:secret => 'in the sauce'}
|
||||
end
|
||||
|
||||
def accessing_request_in_template
|
||||
|
@ -793,12 +786,6 @@ class RenderTest < ActionController::TestCase
|
|||
assert_equal "Hello world!", @response.body
|
||||
end
|
||||
|
||||
# :ported:
|
||||
def test_render_file_as_string_with_instance_variables
|
||||
get :render_file_as_string_with_instance_variables
|
||||
assert_equal "The secret is in the sauce\n", @response.body
|
||||
end
|
||||
|
||||
# :ported:
|
||||
def test_render_file_not_using_full_path
|
||||
get :render_file_not_using_full_path
|
||||
|
|
|
@ -149,6 +149,13 @@ individual components for new deprecations in this release.
|
|||
|
||||
The following changes may require immediate action upon upgrade.
|
||||
|
||||
### `render` with a String argument
|
||||
|
||||
Previously, calling `render "foo/bar"` in a controller action is equivalent to
|
||||
`render file: "foo/bar"`. In Rails 4.2, this has been changed to mean `render template: "foo/bar"`
|
||||
instead. If you need to render a file, please change your code to use the
|
||||
explicit form (`render file: "foo/bar"`) instead.
|
||||
|
||||
### `respond_with` / class-level `respond_to`
|
||||
|
||||
`respond_with` and the corresponding class-level `respond_to` have been moved to
|
||||
|
@ -499,6 +506,10 @@ Please refer to the [Changelog][action-view] for detailed changes.
|
|||
|
||||
### Notable changes
|
||||
|
||||
* `render "foo/bar"` now expands to `render template: "foo/bar"` instead of
|
||||
`render file: "foo/bar"`.
|
||||
([Pull Request](https://github.com/rails/rails/pull/16888))
|
||||
|
||||
* Introduced a `#{partial_name}_iteration` special local variable for use with
|
||||
partials that are rendered with a collection. It provides access to the
|
||||
current state of the iteration via the `#index`, `#size`, `#first?` and
|
||||
|
|
Loading…
Reference in New Issue