我有一個使用日期選擇器的註冊模型和表單。我希望用戶只能選擇與事件對應的日期(另一種模式)。rails 3 jQuery UI Datepicker只想啓用特定的日期
我的問題是我找不到將事件數組傳遞給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陣列似乎是空的看着控制檯...
任何幫助,將不勝感激
這可能沒有實質意義,但是您是否檢查了控制器中'@ available_dates'的值? –
'@ available_dates'返回'=> [「2013-01-05」,「2013-02-02」,「2013-03-02」]'(這是正確的日期)和'@ available_dates.to_s'返回'=>「[\」2013-01-05 \「,\」2013-02-02 \「,\」2013-03-02 \「]」' – defuzed