Salut tlm j'ai une petite question.

J'aimerais savoir comment faire pour afficher des éléments se trouvant dans une base de données dans une combobox, suivant ce que l'on a choisis dans une combobox précédente.

Dans mon cas, j'ai des pays et des villes et j'aimerais que quand on choisis un pays, ça affiche toutes les villes qui sont en rapport avec ce pays (donc pas des villes d'autres pays).

Pour l'instant j'arrive à afficher tous les pays et toutes les villes et je n'arrive pas à faire ce filtrage.

Le code que j'ai dans mon controller est:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
  def edit
    @lastminute = Lastminute.find(params[:id])
    @countries = Country.find(:all, :order=>'Name')
    @villes = Ville.find(:all, :order=>'Name')
  end
et dans mon _form.rhtml:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<p><label for="lastminute_country_id">Pays d'arrivée</label><br/>
<select name="lastminutes[country_id]">
	<% @countries.each do |country| %>
		<option value="<%= country.Code %>" 
		<%= ' selected' if country.Code == @lastminute.country_id %>>
		<%= country.Name %>
	    </option>
	<% end %>
</select></p>
 
<p><label for="lastminute_A_c_ID_vil">Ville d'arrivée</label><br/>
<select name="lastminutes[A_c_ID_vil]">
	<% @villes.each do |ville| %>
		<option value="<%= ville.id %>" 
		<%= ' selected' if ville.id == @lastminute.A_c_ID_vil %>>
		<%= ville.Name %>
	    </option>
	<% end %>
</select></p>
Merci d'avance pour votre aide!