2015-07-19 25 views
0

我試圖讓這通常是用一個簡單的莫里斯線圖日拒絕強制爲字符串的Rails應用程序

date.to_s 

日期爲字符串,但它不工作我嘗試使用JavaScript字符串脅迫。

String(date) 

但這只是給了我幾年。這是我的代碼。

<script> 
    Morris.Line({ 
    element: 'line', 
    data: [ 
    <% metrics_history(current_user.oauth_token, 'page_impressions', 30).each do |k,v|%> 
    { date: String(<%= k%>) , value: <%= v %>}, 
    <% end %> 
    ], 
    xkey: 'date', 
    ykeys: ['value'], 
    labels: ['Value'], 
    parseTime: false 
}); 
</script> 

這就是它返回的結果。 enter image description here

完全卡在這裏。

數據看起來像這樣在瀏覽器

Morris.Line({ 
           element: 'line', 
           data: [ 
           { date: String(2015-06-18) , value: 0}, 
           { date: String(2015-06-19) , value: 0}, 
           { date: String(2015-06-20) , value: 1}, 
           { date: String(2015-06-21) , value: 0}, 
           { date: String(2015-06-22) , value: 23}, 
           { date: String(2015-06-23) , value: 0}, 
           { date: String(2015-06-24) , value: 11}, 
           { date: String(2015-06-25) , value: 1}, 
           { date: String(2015-06-26) , value: 36}, 
           { date: String(2015-06-27) , value: 41}, 
           { date: String(2015-06-28) , value: 1}, 
           { date: String(2015-06-29) , value: 11}, 
           { date: String(2015-06-30) , value: 44}, 
           { date: String(2015-07-01) , value: 0}, 
           { date: String(2015-07-02) , value: 35}, 
           { date: String(2015-07-03) , value: 0}, 
           { date: String(2015-07-04) , value: 0}, 
           { date: String(2015-07-05) , value: 26}, 
           { date: String(2015-07-06) , value: 68}, 
           { date: String(2015-07-07) , value: 88}, 
           { date: String(2015-07-08) , value: 10}, 
           { date: String(2015-07-09) , value: 0}, 
           { date: String(2015-07-10) , value: 0}, 
           { date: String(2015-07-11) , value: 201}, 
           { date: String(2015-07-12) , value: 0}, 
           { date: String(2015-07-13) , value: 0}, 
           { date: String(2015-07-14) , value: 10}, 
           { date: String(2015-07-15) , value: 0}, 
           { date: String(2015-07-16) , value: 0}, 
           { date: String(2015-07-17) , value: 0}, 
           ], 
           xkey: 'date', 
           ykeys: ['value'], 
           labels: ['Value'], 
           parseTime: false 
          }); 

回答

1

因爲日期是不加引號,使用Javascript將其視爲整數,所以不會在一年之間減法月份和日期。在你的模板,把引號日期:

<% metrics_history(current_user.oauth_token, 'page_impressions', 30).each do |k,v|%> 
{ date: "<%= k%>" , value: <%= v %>}, 
+0

哦,沒關係。你只是自己找到了它。 – AOG

0

這奏效了

{ date: '<%= raw k%>' , value: <%= v %>}