私は毎週のカレンダービューを持っており、開始日の/:年/:月/:日を受け入れるように設定されています。Railsの日付のルート
match "events/(:year/:month/:day)" => "events#index",
:constraints => { :year => /\d{4}/, :month => /\d{2}/, :day => /\d{2}/ },
:as => "events_date"
このルートの使用に関する2つの質問があります。
unless params[:year].nil? || params[:month].nil? || params[:day].nil?
start_date = Date.new(params[:year].to_i, params[:month].to_i, params[:day].to_i)
end
start_date = start_date.nil? ? Date.today : start_date
をこれはかなり冗長で一種の醜いとして私を打つ:のparamsを解析する際にまず、これは私がやっているものです。より良い方法がありますか?
そして(週にページング週間)カレンダー内の別の週へのリンクを作り、私はまた、一種の冗長と醜いようだ
#assume an date object with the desired start date
link_to events_date_path(date.strftime('%Y'), date.strftime('%m'), date.strftime('%d'))
ような何かを持っています。ルート内の日付を扱う最良の方法は何ですか?
人間が読めるようにする必要がある理由はありますか?それはマッチ "events /(:date)"として設定するのが理にかなっていますか?dateは "2012-05-01"のようになり、実際の日付オブジェクトに直接strftimeすることができますか? –
いいえ、これは完全に個人的なプロジェクトです。これは実際の問題と同じくらいプログラミングの練習です – DVG
私は実際の答えのフィールドに私の答えを取ると思います。 ;) –