I have the following loop
: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}"
}
]
});
});
but in the line
start: "#{availability.availability_date.to_datetime}"
I always get
NameError at /profile/jean_oso
undefined local variable or method `availability' for #<#<Class:0x007f9210786578>:0x007f92107cf750>
how can I inject this value on my javascript.
Thanks in advance.
UPDATE
I checked my developer tools and I found that
- @kid.availabilities.order("availability_date desc").each do |availability|
is printing as a text, so when I try to do this:
start: "#{availability.availability_date.to_datetime}"
the availability variable does not exist.
What I'm doing wrong????
Thanks for your help
UPDATE 2
I hate haml, I would no use again on my next project. This is how I solve my problem.
%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)'
});
});