diff options
-rwxr-xr-x | actionpack/lib/action_controller/base.rb | 10 | ||||
-rw-r--r-- | actionpack/lib/action_view/partials.rb | 6 |
2 files changed, 14 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb index e75df4c127..688ab7e174 100755 --- a/actionpack/lib/action_controller/base.rb +++ b/actionpack/lib/action_controller/base.rb @@ -476,6 +476,16 @@ module ActionController #:nodoc: add_variables_to_assigns @template.render_file(template_name) end + + def render_partial(partial_path, object = nil, local_assigns = {}) #:doc: + add_variables_to_assigns + render_text(@template.render_partial(partial_path, object, local_assigns)) + end + + def render_partial_collection(partial_name, collection, partial_spacer_template = nil, local_assigns = {})#:doc: + add_variables_to_assigns + render_text(@template.render_collection_of_partials(partial_name, collection, partial_spacer_template, local_assigns)) + end # Sends the file by streaming it 4096 bytes at a time. This way the # whole file doesn't need to be read into memory at once. This makes diff --git a/actionpack/lib/action_view/partials.rb b/actionpack/lib/action_view/partials.rb index bbb38778b7..2251bd321c 100644 --- a/actionpack/lib/action_view/partials.rb +++ b/actionpack/lib/action_view/partials.rb @@ -17,7 +17,7 @@ module ActionView # a partial by the same name as the elements contained within. So the three-lined example in "Using partials" can be rewritten # with a single line: # - # <%= render_collection_of_partials "ad", @advertisements %> + # <%= render_partial_collection "ad", @advertisements %> # # This will render "advertiser/_ad.rhtml" and pass the local variable +ad+ to the template for display. An iteration counter # will automatically be made available to the template with a name of the form +partial_name_counter+. In the case of the @@ -39,7 +39,7 @@ module ActionView render("#{path}/_#{partial_name}", { partial_name => object }.merge(local_assigns)) end - def render_collection_of_partials(partial_name, collection, partial_spacer_template = nil, local_assigns = {}) + def render_partial_collection(partial_name, collection, partial_spacer_template = nil, local_assigns = {}) collection_of_partials = Array.new counter_name = partial_counter_name(partial_name) collection.each_with_index do |element, counter| @@ -55,6 +55,8 @@ module ActionView end end + alias_method :render_collection_of_partials, :render_partial_collection + private def partial_pieces(partial_path) if partial_path.include?('/') |