【发布时间】: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