ajax update of a table

I have a view that has a <table> element in it that I want to update
via ajax, so that the view is not refreshed. The number of rows I have
will be variable, expanding and contracting, and each row is an
element in an array of hashes for each cell in the row.

How do you typically do something like this in RoR? All the examples I
see are for the Scriptaculus kinds of things (autocompete, etc) but
what about something like this. How would you begin to tackle it?
Thanks, Janna B

easiest option:

put the whole table (or table row depending on your needs) into a
partial and then replace the table (or rows) with a new instance of
the partial.

there are various ways to trigger an ajax request - again, this
depends on your needs

link_to_remote: http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper.html#M001930
observe_field: http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper.html#M001939
observe_form: http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper.html#M001940

If the controller action deals with more than one format (eg. html and
js) then you should use the respond_to method.


  def my_ajax_action
    @content = # new content for your table
    replace "id_of_table", render(:partial => "partial_name", :locals
=> {:content => @content } )

Hope that helps?