使用带有ChartKick的模型(Rails5)

时间:2017-08-01 03:34:51

标签: ruby-on-rails

尝试使用Google图表中的时间轴图表(Ala ChartKick Gem

似乎想要一个数据数组,如

<%= timeline [
  ["Washington", "1789-04-29", "1797-03-03"],
  ["Adams", "1797-03-03", "1801-03-03"],
  ["Jefferson", "1801-03-03", "1809-03-03"]
] %>

我对如何从Model的数据中获取它感到困惑?在这种情况下,我希望Proposal以及start_datecompletion_date字段。 两者都存储在典型的时间戳中。

我尝试迭代each但是我收到了错误 Error Loading Chart: Cannot read property 'match' of undefined

我相信我需要在控制器中创建一个函数,但我不确定如何以正确的格式返回数据,或者如何甚至引用控制器。

1 个答案:

答案 0 :(得分:1)

在您的控制器中,执行(我不知道您的型号名称)

1)如果要在db

中保存DateTime对象
@array = Model.all.map{|a| [a.proposal, a.start_date.strftime('%Y-%m-%d'), a.completion_date.strftime('%Y-%m-%d')]}

2)如果要保存整数时间戳

@array = Model.all.map{|a| [a.proposal, DateTime.strptime(a.start_date.to_s,'%s').strftime('%Y-%m-%d'), DateTime.strptime(a.completion_date.to_s,'%s').strftime('%Y-%m-%d')]}

并在您看来,

<%= timeline @array %>