2010年9月18日土曜日

fields_for内で並び替えをする



環境:2.3.8


ひたすらググり続けてやっと見つけました><


忘れないようにメモメモ。





fields_for内で、並び順を指定している項目を使ってsortをする場合は以下の通り



元のソース
<% form.fields_for :details do |detail| %>



変更後
<% form.fields_for :details, @accept.details.sort_by(&:item_order) do |detail| %>


第2パラに、インスタンス変数を指定して、sort_by命令、"&"をつけて、ソートしたい項目を書けばよいようです。





2 件のコメント:

  1. めっちゃたすかりました!!!

    @accept.details.sort_by(&:item_order).sort_by(&:item_price)
    みたくすると二重ソートができるようです。

    返信削除
  2. 大変ありがたい記事でした!

    返信削除