【发布时间】:2014-10-27 10:15:22
【问题描述】:
我在打开本地主机时收到此 ExecJS 错误消息,我不知道为什么,如果有帮助会很棒。
我在本地主机上得到了这个
显示 /.../conektec/app/views/layouts/application.html.erb 第 6 行出现的位置:
SyntaxError: [stdin]:6:16: 意外换行 (在 /.../conektec/app/assets/javascripts/orders.js.coffee)
ActionView::Template::Error (SyntaxError: [stdin]:2:73: unmatched )
(in /Users/hbendev/startups/conektec/conektec/app/assets/javascripts/orders.js.coffee)):
3: <head>
4: <title>Conektec</title>
5: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6: <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7: <%= javascript_include_tag "https://js.stripe.com/v2/" %>
8: <%= csrf_meta_tags %>
9: <%= tag :meta, :name => "stripe-key", :content => ENV["STRIPE_PUBLIC_KEY"] %>
这是我的 orders.js.coffee 文件
jQuery ->
Stripe.setPublishableKey($('meta[name="stripe-key"]').attr('content'))
payment.setupForm()
payment =
setupForm: ->
$('#new_order').submit ->
$('input[type=submit]').attr('disabled', true)
Stripe.card.createToken($('#new_order'), payment.handleStripeResponse)
false
handleStripeResponse: (status, response) ->
if status == 200
alert(response.id)
else
alert(response.error.message)
这是我的 application.html.erb 文件
<!DOCTYPE html>
<html>
<head>
<title>Conektec</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= javascript_include_tag "https://js.stripe.com/v2/" %>
<%= csrf_meta_tags %>
<%= tag :meta, :name => "stripe-key", :content => ENV["STRIPE_PUBLIC_KEY"] %>
</head>
<body>
<%= render 'layouts/header' %>
<div class="container">
<% flash.each do |name, msg| %>
<% if msg.is_a?(String) %>
<div class="alert alert-<%= name.to_s == 'notice' ? "success" : "danger" %> alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
</div>
<% end %>
<% end %>
<%= yield %>
<%= render 'layouts/footer' %>
</div>
</body>
</html>
我已经尝试删除我的 turbolinks,添加 rubyracer gem,我已经安装了 nodejs,我不知道错误在哪里。
我正在使用: OS X 小牛队 Ruby 2.0.0 Rails 4.1.1
怎么了? 谢谢。
【问题讨论】:
-
这是你 CoffeeScript 中真正的缩进吗?
-
你认为
Stripe.setPublishableKey($)('meta[name="stripe-key"]')会做什么? -
哦,我刚刚意识到是缩进,真的。我修复它。现在错误消失了,但又遇到了另一个问题,当我点击提交按钮时(请参阅咖啡脚本代码)我在浏览器(Chrome)中没有收到任何弹出消息,唯一的操作是 .attr('disabled ', true) 在我单击它后禁用该按钮。我将
Stripe.setPublishableKey($)('meta[name="stripe-key"]').attr('content'))的代码编辑为:Stripe.setPublishableKey($('meta[name="stripe-key"]').attr('content')),同样的错误,没有出现警告。
标签: javascript ruby-on-rails ruby node.js coffeescript