J'utilise Rails 3.0.3 avec ruby 1.9.2p0.
Dans mon profile_controller (fonction d'édition), j'ai cet appel
@profile = Profile.find(params[:id])
@profile_items = @profile.profile_items.order("pos")
pour obtenir les éléments @profile_items dans le bon ordre, triés sur "pos". Dans le fichier _form.html.erb, j'ai ce qui suit
<% @profile_items.each do |pi| %>
<%= pi.pos %> |
<% end %>
<%= f.fields_for :profile_items do |f2| %>
<%= render 'profile_item_fields', :f => f2 %>
<% end %>
Les trois premières lignes sont du code de test pour montrer que les éléments @profile_items sont dans le bon ordre. Mais lorsqu'ils sont rendus, ils ont perdu l'ordre trié !
J'ai beaucoup cherché la réponse et je pense qu'il s'agit d'un "piège" courant dans lequel on tombe. tomber.
Merci pour toute aide...