Hi,
I''m trying to dynamically add items to a select list with Ajax.
I''m
displaying the options of the list with render_partial_collection and
passing it a list of galleries. When the page is hit initially the
drop-down list renders correctly (with galleries from my db). When I
submit my form (using form_remote_tag) with the new gallery to add, my
controller takes a turn at rendering the same partial, but spits out
plain text within the select tags instead of option elements. Right, so
here''s the code...
___controller: test_controller.rb___
class TestController < ApplicationController
def index
@galleries = Gallery.find(:all).map { |g| g.name }
end
def add
@newGal = Gallery.new
@newGal.name = @params[''new_gallery'']
@newGal.save
@galleries = Gallery.find(:all).map { |g| g.name }
render_partial_collection ''shared/gallery'', @galleries
end
end
___partial: shared/_gallery.rhtml___
<option><%= gallery %></option>
___view: index.rhtml___
<%= form_remote_tag(:update => "update_galleries",
:complete => evaluate_remote_response,
:url => { :action => :add } ) %>
<%= text_field_tag :new_gallery %>
<%= submit_tag "Submit" %>
<%= end_form_tag %>
<select id="update_galleries">
<%= render_partial_collection ''shared/gallery'',
@galleries %>
</select>
What''s interesting to me is that if I use a div tag instead of a
select, and add, say, a list of links using my partial, the html is
retained. Perhaps I''ve just been staring at this too long this morning.
Ideas?
Thanks,
Rob