Ruby 1.9.2p0 で Rails 3.0.3 を使用しています。
私のprofiles_controller(編集機能)には、この呼び出しがあります
@profile = Profile.find(params[:id])
@profile_items = @profile.profile_items.order("pos")
「pos」でソートされた正しい順序で @profile_items を取得します。_form.html.erb には次のものがあります
<% @profile_items.each do |pi| %>
<%= pi.pos %> |
<% end %>
<%= f.fields_for :profile_items do |f2| %>
<%= render 'profile_item_fields', :f => f2 %>
<% end %>
最初の 3 行は、@profile_items が正しい順序であることを示すテスト コードです。しかし、それらがレンダリングされると、ソートされた順序が失われます!
今、私は答えをたくさん探しましたが、これはよくある「罠」に陥るに違いないと思います。
助けてくれてありがとう...