0

私は単純なブログ アプリを構築しています。ユーザーが月をクリックすると、その月のすべての記事が表示されるアーカイブを追加したいと考えています。月と年に基づいてグループ化するようなものです。例えば、

記事:

  • 2012年6月
  • 2011 年 5 月

したがって、日付をクリックすると、その月のすべての記事を一覧表示するページが表示されます。どうすればそれを成し遂げることができますか?

4

1 に答える 1

1

2012 年 7 月の場合:

require 'date'

month = 7
year = 2012

start_date = Date.new(year,month,1)
end_date =  Date.new(year,month+1,1) - 1.day

articles_in_july = Article.where(:created_at => start_date..end_date)

上記のコンソールでテストできます。ただし、モデルではおそらく次のことが必要です。

def self.in_month(month,year)
    start_date = Date.new(year,month,1)
    end_date =  Date.new(year,month+1,1) - 1.day
    where(:created_at => start_date..end_date)
end

次に、次のように呼び出すことができます。

Article.in_month(7,2012)

または、ユーザーが_多くの記事を持っていると仮定します:

current_user.articles.in_month(7,2012)
于 2012-08-08T21:57:43.170 に答える