我正在使用带有 ruby 1.9.2p0 的 Rails 3.0.3。
在我的profiles_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 的顺序正确。但是当它们被渲染时,它们已经失去了排序顺序!
现在我已经搜索了很多答案,我认为这一定是一个常见的“陷阱”。
感谢您的帮助...