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