コントローラのcreateメソッドで、accepts_nested_attributesを使用して親オブジェクトと子オブジェクトを作成しています。それはすべてうまくいきます。
子には、正しく設定された順序付け属性があります。
ただし、検証が失敗した場合(たとえば、属性が欠落している場合)、fields_forメソッドの実行時に子オブジェクトの順序は保持されません。
parent.children.reorder( "ordering ASC")を使用してみましたが、機能しません...
状況が明確になれば、コードを投稿できてうれしいです。
def create
@parent = Parent.new(params[:parent])
respond_to do |format|
if @parent.save
format.html
else
@parent.children.reorder("ordering ASC") #this makes no difference
format.html { render :action => "new" }
end
end
end
部分的な形で
<%= f.fields_for :children do |ff| %>
<%= render "child_fields", :ff => ff %>
<% end %>
どんなポインタも素晴らしいでしょう。