繁体   English   中英

在Ruby on Rails上使用HAML将值注入JavaScript

[英]inject values into javascript using haml on ruby on rails

我有以下循环

: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上注入此值。

提前致谢。

UPDATE


我检查了开发人员工具,发现

- @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)'
  });
  });

这就是我解决的方法

%script(type="text/javascript")

$(document).ready(function(){$('#calendar')。fullCalendar({defaultView:'agendaWeek',editable:false,eventLimit:true,events:[-@ kid.availabilities.order(“ availability_date desc “)。每个|| availability | {标题:”可用“,开始:”#{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“)}”,网址:“#”},],timeFormat:'H(: mm)'});});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM