diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2005-03-09 15:26:36 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2005-03-09 15:26:36 +0000 |
commit | 7ece0e166d7e65eeaeca5138b7ef0353c598bf95 (patch) | |
tree | 94e054eefe3564b457e956a8baa8cfaf35fc638a /actionpack | |
parent | 5a4846a0d385b54e8ba1c974bf8c4de29fb49ea5 (diff) | |
download | rails-7ece0e166d7e65eeaeca5138b7ef0353c598bf95.tar.gz rails-7ece0e166d7e65eeaeca5138b7ef0353c598bf95.tar.bz2 rails-7ece0e166d7e65eeaeca5138b7ef0353c598bf95.zip |
Added render_partial/render_partial_collection from controllers for easier Ajaxing
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@880 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack')
-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?('/') |