Ruby on Rails3 一覧を月次で表示できるようにした
レシート一覧を月ごとにも表示したかったので、ルーティングについて調べてみた。
[環境]
Windows8
Ruby 1.9.3(p125)
Ruby on Rails 3.2.9
config\routes.rbに下記のように記載する。
match "receipts/:month", :controller => :receipts, :action => :index, :as => :receipt_month
app\controllers\receipts_controller.rbのindexに下記のように記載する。
if params[:month] == nil @receipts= Receipts.all else start_date = Date.new(2013, params[:month].to_i, 1) if params[:month].to_i != 12 end_date = Date.new(2013, params[:month].to_i + 1, 1) else end_date = Date.new(2014, 1, 1) end @journals = Journal.where(:date => start_date...end_date).all end
※年の取得は省略した