徒然さめざめ

思ったことを思ったときに思ったように

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

作業時間の記録 の 活動 が多すぎ

多すぎるため選択するのが面倒なので、
TimeEntryからactivity_idの数で順位付けして、
よく使われるものを上に持って来ようと思って色いろ調べた。


TimeEntry.count(:group=>"activity_id").sort{|a,b| b[1]<=>a[1]}


これで、Activity と その使われてる数 の配列の配列が取得できる。

次にその配列を回して、TimeEntryActivityを順番にとるだけで実現できる。
あとactiveなものだけを取得。


TimeEntry.count(:group=>"activity_id").sort{|a,b| b[1]<=>a[1]}.map{|ai| ((tea = TimeEntryActivity.find(ai.first)) && tea.active) ? tea : nil }.compact


さて、ここまで調べて実際にどう TimeEntryActivity を取得してるのか見てみたら…


TimeEntryActivity.shared.active


・・・どう別の処理を差し込んだものか。
スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://fmkt.blog65.fc2.com/tb.php/182-f733e72f
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。