多亏了这样定义的路线,我可以访问数周:
get 'missions/:year/:week' => 'missions#index'
我想显示周和 2 个链接以转到前一周和下一周。
我们需要知道下一周是哪一年。 “cweek”为我提供了正确的周数,但我需要知道年份。
获取下周四的年份似乎可行,但这有点难看。这是我在 missions#index 操作中所做的,这样我就可以获得正确的 url:
@week = params[:week]
@year = params[:year]
@start_date = Date.commercial(@year.to_i, @week.to_i)
# To navigate between weeks
@prev_week = (@start_date - 1.week).cweek
@prev_year = (@start_date - 1.week + 4.days).year
@next_week = (@start_date + 1.week).cweek
@next_year = (@start_date + 1.week + 4.days).year
知道如何做得更好吗?
最佳答案
Date#cweek
返回的周数的正确年份由 Date#cwyear
返回.因此,此方法使其成为与 cweek
一起使用的主要候选者。
# To navigate between weeks
@prev_week = (@start_date - 1.week).cweek
@prev_year = (@start_date - 1.week).cwyear
@next_week = (@start_date + 1.week).cweek
@next_year = (@start_date + 1.week).cwyear
关于ruby-on-rails - 如何遍历年和周,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24576981/