【问题标题】:SyntaxError: unexpected COMPARE with coffeescript and turbolinksSyntaxError:与咖啡脚本和 turbolinks 进行意外比较
【发布时间】:2013-12-02 19:58:28
【问题描述】:

我正在研究这个例子:

http://road2ruby.blogspot.com/2013/01/jquery-full-calendar-with-rails3.html

当我运行我的服务器并尝试转到 /events url 时,我收到以下错误:

ExecJS::RuntimeError at /events
SyntaxError: unexpected COMPARE
  (in /Users/rabdelaz/swap/app/assets/javascripts/calendar.js.coffee)

错误指向我的application.js的这一行:

<%= javascript_include_tag "application", "data-turbolinks-track" => true %>

这是我的整个 application.js

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><%= content_for?(:title) ? yield(:title) : "Swap" %></title>
    <meta name="description" content="<%= content_for?(:description) ? yield(:description) : "Swap" %>">
    <%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
    <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
    <%= csrf_meta_tags %>
  </head>
  <body>
    <header>
      <%= render 'layouts/navigation' %>
    </header>
    <main role="main">
       <%= render 'layouts/messages' %>
       <%= yield %>
    </main>
  </body>
</html>

我不确定这个错误的确切含义或我为什么会得到它。我对javascript和coffeescript很陌生。

$(document).ready ->  
  $('#calendar').fullCalendar  
   editable: true,  
   header:  
    left: 'prev,next today',  
    center: 'title',  
    right: 'month,agendaWeek,agendaDay'  
   defaultView: 'month',  
   height: 500,  
   slotMinutes: 30,  
   eventSources: [{  
    url: '/events',  
   }],  
   timeFormat: 'h:mm t{ - h:mm t} ',  
   dragOpacity: "0.5"  
   eventDrop: (event, dayDelta, minuteDelta, allDay, revertFunc) ->  
    updateEvent(event);  
   eventResize: (event, dayDelta, minuteDelta, revertFunc) ->  
    updateEvent(event);  
  <br/>  
 updateEvent = (the_event) ->  
  $.update "/events/" + the_event.id,  
   event:  
    title: the_event.title,  
    starts_at: "" + the_event.start,  
    ends_at: "" + the_event.end,  
    description: the_event.description      

【问题讨论】:

  • 我认为发生的事情是您的 calendar.js.coffee 文件中存在问题 - 我相信 ExecJS 是将其转换为 JavaScript 的链的一部分,但它失败了。可以发一下文件内容吗?
  • 当然。它与我发布的链接中的相同。

标签: javascript ruby-on-rails coffeescript ruby-on-rails-4 turbolinks


【解决方案1】:

您无意中从教程中提取了一些格式 - 在第 20 行,有一个 &lt;br&gt; 标记,它不是有效的 CoffeeScript。删除它应该可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-15
    • 1970-01-01
    • 2015-12-12
    • 2016-12-18
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多