2011-02-18 9 views
1

私は2つのモデルTodoとDuedateを持っています。 Duedate has_many todos、そして同様にTodoはDuedateに属します。 Duedatesテーブルには、idおよび 'date'データ型エントリが格納されます。すべてのTodoオブジェクトには、Duedate IDに対応するduedate_id列があります。ruby​​ on railでsort_by ruby​​を使って別のテーブルからデータをソート

藤堂は、私は、ソートすることにより、優先度や完成のようなそれでは他の値、があります。

@todos = @todos.sort_by(&:priority) 

私は日付によって@todosをソートしたいが、私は日付を使用するsort_byを伝えるするかどうかはわかりませんがduedateテーブルのduedate_idに関連付けられています。それはちょうどソート@todos日までにそれはないエントリが対応する日付で、duedateテーブルに入力されただろうとので、私はちょうど

@todos = @todos.sort_by(&:duedate_id) 

を行うことはできません。誰も助けることができますか?

おかげで、 ロス

答えて

1

あなたはsymbol_to_proc糖メソッドを使用しています。

@todos = @todos.sort_by{ |todo| todo.duedate.date } 
0

なぜあなたは2つのモデルを持っていない、なぜあなたは自分のToDoモデルでduedateフィールドを持っていない:あなたはsort_byするプレーン古いブロックの引数を使用できますか?

あなたのToDoモデルに期限日フィールドがある場合は、あなたのtodosをソートするスコープを定義することができます。

関連する問題