我有以下循环
:javascript
$(document).ready(function() {
$('#calendar').fullCalendar({
defaultDate: '2014-09-12',
editable: false,
eventLimit: true,
events: [
{
- @kid.availabilities.order("availability_date desc").each do |availability|
title: "#{@kid.name}",
start: "#{availability.availability_date.to_datetime}"
}
]
});
});
但在行
start: "#{availability.availability_date.to_datetime}"
我总是得到
NameError at /profile/jean_oso
undefined local variable or method `availability' for #<#<Class:0x007f9210786578>:0x007f92107cf750>
如何在我的javascript上注入此值。
提前致谢。
更新
我查看了我的开发者工具,然后发现了
- @kid.availabilities.order("availability_date desc").each do |availability|
正在打印为文本,所以当我尝试这样做时:
start: "#{availability.availability_date.to_datetime}"
可用性变量不存在。
我做错了什么????
感谢您的帮助
更新2
我讨厌haml,我不会再用我的下一个项目了。这就是我解决问题的方法。
%script(type="text/javascript")
$(document).ready(function(){
$('#calendar').fullCalendar({
defaultView: 'agendaWeek',
editable: false,
eventLimit: true,
events: [
- @kid.availabilities.order("availability_date desc").each do |availability|
{
title: "Available",
start: "#{availability.availability_date.to_datetime.strftime("%Y-%m-%dT%H:%M:%S")}",
end: "#{availability.end_availability_date.to_datetime.strftime("%Y-%m-%dT%H:%M:%S")}",
url: "#"
},
],
timeFormat: 'H(:mm)'
});
});
答案 0 :(得分:0)
这是我解决的方法
%script(type="text/javascript")
(文档)$。就绪(函数(){ $(&#39;#日历&#39)。fullCalendar({ defaultView:&#39; agendaWeek&#39;, 可编辑的:假的, eventLimit:true, 事件:[ - @ kid.availabilities.order(&#34; availability_date desc&#34;)。每个|可用性| { 标题:&#34;可用&#34;, 开始:&#34;#{availability.availability_date.to_datetime.strftime(&#34;%Y-%m-%dT%H:%M:%S&#34;)}&#34;, 结束:&#34;#{availability.end_availability_date.to_datetime.strftime(&#34;%Y-%m-%dT%H:%M:%S&#34;)}&#34;, 网址:&#34;#&#34; }, ] 时间格式:&#39; H(:mm)&#39; }); });