Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:每周活动日志-填写空白周_Ruby On Rails_Android Activity_Week Number_Amcharts - Fatal编程技术网

Ruby on rails Rails:每周活动日志-填写空白周

Ruby on rails Rails:每周活动日志-填写空白周,ruby-on-rails,android-activity,week-number,amcharts,Ruby On Rails,Android Activity,Week Number,Amcharts,我正在创建一个活动图表,显示一段时间内保存到用户配置文件中的记录数(在本例中为“user.notes”,即用户有许多注释)。下面函数的json输出很好地输入到图表库中 但是,下面的函数在没有任何活动的情况下不会输出数周的数据…我需要这些“孔”,其中包含正确的周日期。。。有人能建议我怎么做吗 我相信“has_activity”gem有这个功能,但是我更愿意避免使用整个gem来实现这个功能 class Case < ActiveRecord::Base def self.user_acti

我正在创建一个活动图表,显示一段时间内保存到用户配置文件中的记录数(在本例中为“user.notes”,即用户有许多注释)。下面函数的json输出很好地输入到图表库中

但是,下面的函数在没有任何活动的情况下不会输出数周的数据…我需要这些“孔”,其中包含正确的周日期。。。有人能建议我怎么做吗

我相信“has_activity”gem有这个功能,但是我更愿意避免使用整个gem来实现这个功能

class Case < ActiveRecord::Base 
 def self.user_activity_profile(user)
    array = []
    user.notes.group_by{ |u| u.created_at.beginning_of_week }.each do |week, entries|
      array << { week: week.strftime("%d %b"), count: entries.count }
    end
    array.to_json
  end
end
class Case数组我相信这应该满足您的需要。它只需为每个用户记录第一个和最后一个备忘,然后一次按7天的间隔逐步完成日期范围,这迫使它不能跳过任何一周

class Case < ActiveRecord::Base 
  def self.user_activity_profile(user)
    array = []
    notes = user.notes
    first = notes.first.created_at.beginning_of_week
    last = notes.last.created_at.beginning_of_week
    (first..last).step(7){ |date| 
      array << [
        week:date.strftime("%d %b"), 
        count: notes.where("created_at BETWEEN ? AND ?", date, date + 1.week).count
      ]}
    array.to_json
  end
end
class Casedef self.user\u activity\u profile(用户)
from=Time.now-1.5个月
现在
tmp=来自
数组=[]
开始
tmp+=1.5周
排列
  def self.user_activity_profile(user)
    from = Time.now - 1.months
    to = Time.now
    tmp = from
    array = []
    begin
       tmp += 1.week
        array << [
          week: tmp.strftime("%d %b"), 
          count: user.notes.where("created_at BETWEEN ? AND ?", tmp, tmp + 1.week).count
        ]
    end while tmp <= to
    array.to_json
  end