I''m playing with rails and RJS,
What I want I think sounds simple - but I can''t seem to figure it out.
So basically I have a Countries Model, which joins on Cities Model.
I want to display a list of countries in a select, when you select a
country it shows all the cities in that country.
That works just fine - the issue I have is to add the data in tables.
I have right now a index page
<h1>Listing countries</h1>
<div id="mytable">
<table border="1">
<tr>
<td>Please select country</td>
<td><%= select_tag(:id ,
options_from_collection_for_select(@countries, :id, :country)) %></td>
</tr>
<tr>
<div id="show_cities"></div>
</tr>
</table>
</div>
<%= observe_field :id, :frequency => 0.25, :url => {:controller =>
"countries", :action => ''show''}, :with =>
''id'' %>
So when the user chooses a country it gets all the cities of that
country, now all I want to do is add a new row to the existing table,
with a new select containing the cities. My show.rjs does
page.replace_html :show_cities, :partial => ''show'', :object
=> @country
And then the partial is
<td>Please select city</td>
<td><%= select_tag(:id ,
options_from_collection_for_select(@country.cities, :id, :title))
%></td>
And it displays the data, but not in the exiting table...I know this
probably isn''t strictly rails as its javascript/html but maybe someone
can help... All I want is to be able to add new rows when the data is
available?
--
Posted via http://www.ruby-forum.com/.
On Aug 12, 2:24 pm, Pete Moran <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > <h1>Listing countries</h1> > <div id="mytable"> > <table border="1"> > <tr> > <td>Please select country</td> > <td><%= select_tag(:id , > options_from_collection_for_select(@countries, :id, :country)) %></td> > </tr> > <tr> > <div id="show_cities"></div> > </tr> > </table> > </div>Browsers are often a bit finnicky about inserting stuff into tables. Strictly speaking you shouldn''t have a div there - a tr should contain td tags and things like that. In the past I''ve also found that inserting a tbody with some rows to work better than just inserting rows. Fred> <%= observe_field :id, :frequency => 0.25, :url => {:controller => > "countries", :action => ''show''}, :with => ''id'' %> > > So when the user chooses a country it gets all the cities of that > country, now all I want to do is add a new row to the existing table, > with a new select containing the cities. My show.rjs does > > page.replace_html :show_cities, :partial => ''show'', :object => @country > > And then the partial is > > <td>Please select city</td> > <td><%= select_tag(:id , > options_from_collection_for_select(@country.cities, :id, :title)) > %></td> > > And it displays the data, but not in the exiting table...I know this > probably isn''t strictly rails as its javascript/html but maybe someone > can help... All I want is to be able to add new rows when the data is > available? > -- > Posted viahttp://www.ruby-forum.com/.