根据选定的周显示对象

时间:2016-11-07 19:56:46

标签: ruby-on-rails ruby postgresql ruby-on-rails-5

我有一个带有属性Bar的有效关系shift_date对象。 shift_date表示3月到6月之间的每个。 3月和6月来自Foo,其中包含start_monthend_month

属性
f = Foo.find(1)
days = (f.end_month - f.start_month).to_i
weeks = (days * 0.142857).round(2)

f.bars会给我days个对象。其中days是objetcs的总数。

我的麻烦是获取Bar个对象,第1,2或3周的对象等:

f.bars.where('shift_date >= ?', (weeks/7.days)).group_by{ |result| result }
  

运算符不存在:没有时区的时间戳> = numeric

那么我在说什么?如果有的话,在第1周或第5周给我所有物品。我该怎么办呢?

我正在做一些事情,但不对:

f.bars.where('shift_date >= ?', Date.today).group_by{ |result| result}

编辑:

我几乎在那里。我可以用以下方式解决这些日子:

days_array = *(f.start_month..f.end_month)

然后

f.bars.where(shift_date: days_array[0]..days_array[7])

那就是答案!但是......不是真的。对于我的观点,我需要在7天的时间间隔内将展开的天数分组为星期,因此days_array[0]days_array[7]将是第1周,而days_array[8]days_array[14]将是一周2等如何在视图中显示?这将为我提供我需要的一切。

0 个答案:

没有答案