日付ピッカーを使用する登録モデルとフォームがあります。ユーザーがイベントに対応する日付のみを選択できるようにしたい (別のモデル)。
私の問題は、イベント配列を JavaScript に渡す正しい方法が見つからないことです。
これはコントローラーにあります:
@available_dates = Event.pluck(:start_time).as_json
これはビューにあります:
<script>
var availableDates = [<%= @available_dates.to_s.html_safe %>] ;
</script>
これはjsです:
function available(date) {
ymd = date.getFullYear() + "-" + ('0' + (date.getMonth()+1)).slice(-2) + "-" + ('0' + date.getDate()).slice(-2);
console.log(ymd+' : '+($.inArray(ymd, availableDates)));
if ($.inArray(ymd, availableDates) != -1) {
return [true, "","Available"];
} else {
return [false,"","unAvailable"];
}
}
$("#registration_date").datepicker({ beforeShowDay: available, dateFormat: "yy-mm-dd"});
コンソールを見るとjs配列が空に見えるので、ビューで何か間違っていると思います...
どんな助けでも大歓迎です