Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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 你能为chartkick指定一个日期范围吗?_Ruby On Rails_Chartkick - Fatal编程技术网

Ruby on rails 你能为chartkick指定一个日期范围吗?

Ruby on rails 你能为chartkick指定一个日期范围吗?,ruby-on-rails,chartkick,Ruby On Rails,Chartkick,我正在使用chartkick创建一些折线图,以便在Rails应用程序中可视化数据。然而,目前它显示了我数据库中的所有数据。显然,这并不总是理想的。我想让用户能够指定显示数据的日期范围。我将使用创建的_作为记录的值 我在文档中找不到有关如何执行此操作的任何说明 我已经创建了一个日期选择器,它会给我一个URL,如 chartkicker可以访问这些参数吗 在我的代码中,俱乐部有许多Dailymtrics,我在俱乐部控制器中创建了一个metrics操作 看法 搜索度量的模型 类度量搜索 属性读取器:

我正在使用chartkick创建一些折线图,以便在Rails应用程序中可视化数据。然而,目前它显示了我数据库中的所有数据。显然,这并不总是理想的。我想让用户能够指定显示数据的日期范围。我将使用创建的_作为记录的值

我在文档中找不到有关如何执行此操作的任何说明

我已经创建了一个日期选择器,它会给我一个URL,如

chartkicker可以访问这些参数吗

在我的代码中,俱乐部有许多Dailymtrics,我在俱乐部控制器中创建了一个metrics操作

看法

搜索度量的模型

类度量搜索
属性读取器:日期从,:日期到
def初始化(参数)
参数| |={}
@date_from=解析的_date(参数[:date_from],7.days.ago.to_date.to_s)
@date\u to=解析的\u日期(参数[:date\u to],date.today.to\s)
结束
def范围
DailyMetric.where('created_at before?AND?'、@date_from、@date_to)
结束
私有的
def解析日期(日期字符串,默认值)
解析(日期字符串)
输入错误
违约
结束
结束

我想做的是可能的吗?

我在你的评论中发布了一篇很棒的文章的链接,但是你也可以使用一个名为gem的gem

假设您的用户模型
有很多:订单,您希望了解他们在过去6个月的支出:

# order.rb
def self.monthly_spending
  group_by_month(:date, last: 6, current: false).sum('orders.total')
end
在你看来:

<%= line_chart current_user.orders.monthly_spending %>

还有一个

如果您想为查询预先选择从到日期,您可以在前端设置一个日期选择器,并将参数发送给控制器

def show
  orders = Order.where('created_at > %s AND created_at < %s', params[:start_date], params[:end_date])
end
def显示
订单=订单。其中('created_at>%s和created_at<%s',params[:start_date],params[:end_date])
结束

在预先筛选的订单列表上,通过
方法调用上面的
group\u。

我在你的评论中发布了一篇很棒的文章的链接,但是你也可以使用一个名为gem的gem

假设您的用户模型
有很多:订单,您希望了解他们在过去6个月的支出:

# order.rb
def self.monthly_spending
  group_by_month(:date, last: 6, current: false).sum('orders.total')
end
在你看来:

<%= line_chart current_user.orders.monthly_spending %>

还有一个

如果您想为查询预先选择从到日期,您可以在前端设置一个日期选择器,并将参数发送给控制器

def show
  orders = Order.where('created_at > %s AND created_at < %s', params[:start_date], params[:end_date])
end
def显示
订单=订单。其中('created_at>%s和created_at<%s',params[:start_date],params[:end_date])
结束

在预先筛选的订单列表上,通过
方法调用上面的
group\u。

这是一篇关于设置chartkick的好文章。同时在后台加载数据这是一篇关于设置chartkick的好文章。另外,在后台加载数据时,我可以看到这将如何允许我选择特定的数据范围,但是我需要用户能够从前端选择范围。此处显示sitepoint.com/graphs-on-rails-chartkick-in-practice如何在前端使用日期选择器。将参数发送到控制器,在一个简单的where子句中查询,然后使用group_收集数据,为什么不使用datepicker插件,然后将这两个输入字段包装成一个表单。表单的url是要筛选的实际视图。在控制器中,您可以从字符串中解析日期,就像我显示的show动作一样。您可能需要
Date.parse(params[:start_Date])
或者类似的东西。我可以看到这将如何允许我选择特定的数据范围,但是我需要用户能够从前端选择范围。这里显示sitepoint.com/graphs-on-rails-chartkick-in-practice如何在前端使用日期选择器。将参数发送到控制器,在一个简单的where子句中查询,然后使用group_收集数据,为什么不使用datepicker插件,然后将这两个输入字段包装成一个表单。表单的url是要筛选的实际视图。在控制器中,您可以从字符串中解析日期,就像我显示的show动作一样。您可能需要
Date.parse(params[:start\u Date])
或类似的内容