Я использую Rails 3.0.3 с ruby 1.9.2p0.
В моем profile_controller (функция редактирования) у меня есть этот вызов
@profile = Profile.find(params[:id])
@profile_items = @profile.profile_items.order("pos")
, чтобы получить @profile_items в правильномпорядок, отсортированный по "pos".В _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 в правильном порядке.Но когда они отрендерены, они потеряли отсортированный порядок!
Теперь мне приходится много искать ответа, и я думаю, что это обычная «ловушка», в которую можно попасть.
Благодарю за любую помощь ...