0

daterangepickermomentを使用して、異なる範囲を選択しています。 startDateendDateを動的に設定する必要があります。 html.erbファイルでモーメントがjsに戻る日付

:私は次のようにブラウザのコンソールに警告を取得しています

<%if params[:campaign_report].present? && params[:campaign_report]["daterange"].present?%> 
    <%date_range= params[:campaign_report]["daterange"].split("-")%> 
    <%= @start_date= Date.parse(date_range[0]).strftime("%Y/%m/%d")%> 
    <%= @end_date= Date.parse(date_range[1]).strftime("%Y/%m/%d")%> 
<%else%> 
    <%= @start_date= Date.parse(@daterange).strftime("%Y/%m/%d")%> 
    <%= @end_date= Date.parse(@daterange).strftime("%Y/%m/%d")%> 
<%end%> 

<script type="text/javascript"> 

$(function() { 
    function report_form_submit(start, end) { 
    $('#daterange').val(start.format('MMM D, YYYY') + ' - ' + end.format('MMM D, YYYY')); 
    $("#campaign_report_daterange").val($("#daterange").val()) 
    $("#daily_filter_form").submit(); 
    } 

    $('#daterange').daterangepicker({ 
    ranges: { 
     'Today': [moment(), moment()], 
     'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], 
     'Last 7 Days': [moment().subtract(6, 'days'), moment()], 
     'Last 30 Days': [moment().subtract(29, 'days'), moment()], 
     'This Month': [moment().startOf('month'), moment().endOf('month')], 
     'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] 
    }, 
    startDate: moment('<%= @start_date%>'), 
    endDate: moment('<%= @end_date%>') 
    }, report_form_submit); 
}); 
..... 

非推奨警告:瞬間の建設は、バックJS日に落ちます。これは推奨されず、今後のメジャーリリースで削除される予定です。詳細はhttps://github.com/moment/moment/issues/1407を参照してください。

+0

警告、エラーではないのですが、あなたはそれについて何かをする必要があります - あなたは**全体**メッセージまたは単に最初を示しています部? –

+0

** **警告**には、https:// github.com/moment/moment/issues/1407'というリンクが含まれています。**これは**正確に**修正方法を教えてくれるものです。 –

+0

リンクに従ってくださいあなたのコードを修正してください^^^あなたの質問にすべてを明らかにする前に、どのように私がメッセージ全体を知っていたかを見てください。それが私を魔法使いにしてくれる - 私はこの悪魔の力のために賭けに燃やされるべきなのだろうか? –

答えて

0

この警告のリンクに記載されている指示に従って、フォーマットを指定してください。ドキュメントとして

は言う:

警告:文字列is inconsistentを解析するためのブラウザのサポート。サポートするフォーマットを指定していないため、一部のブラウザで動作するものは他のブラウザでは動作しません。

ISO 8601文字列以外の解析結果を一致させるには、String + Formatを使用する必要があります。

あなたが使用する必要があり、あなたの場合は

startDate: moment('<%= @start_date%>', 'YYYY/MM/DD'), 
endDate: moment('<%= @end_date%>', 'YYYY/MM/DD') 
関連する問題