特定の日付範囲の統計を生成しようとしています。たとえば、「期間」属性を持つ Project モデルがあります。ユーザーは、メニューから 3 つの異なる値を選択できます。
- 学年
- 学期
- 夏学期
これは、検索コントローラーでこれまでに持っているものです。
def index
unless params[:from].nil? and params[:to].nil?
@result = Project.where('start_date >= ? AND start_date <= ?', Date.strptime(params[:from], "%m/%d/%Y"), Date.strptime(params[:to], "%m/%d/%Y"))
...
end
これにより、すべてのプロジェクトの配列が得られますが、その配列を統計に変換することはできません。
学年度の期間を持つプロジェクトの合計、学期の期間を持つプロジェクトの合計、夏学期の期間を持つプロジェクトの合計を取得したいと考えています。
コードは、後でオプションのリストに「1 か月」を追加した場合にコードがそれを選択できるように、十分に柔軟でなければなりません。
以前は金額でそれを行っていましたが、文字列値ではそうではありませんでした: Rails 3. 配列から合計を取得する
結果は次のようになります。
** Duration **
Academic year: 12
Semester: 9
Summer term: 5
** Course Disciplines **
Dental: 11
Biomedical: 3
Nursing: 7
** many more other attributes ***
ありがとう!