我在Windows 7笔记本电脑上有一个运行良好的开发环境。今天,我有一台新的Windows 8笔记本电脑,并试图在其上设置开发环境。安装滑轨等并创建了新的示例应用程序,并且运行良好。然后我克隆了我的应用程序并尝试。出现以下错误:

Completed 500 Internal Server Error in 2354ms

 ActionView::Template::Error ((in C:/....../appname/app/assets/javascripts/gmaps4rails/gmaps4rails.base.js.coffee)):
3: <head>
4:   <title><%=yield :title %></title>
5:   <%= stylesheet_link_tag    "application", :media => "all" %>
6:   <%= javascript_include_tag "application" %>
7:   <%= csrf_meta_tags %>
8:   <%= render 'layouts/shim' %>
9: </head>
app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb__782381622_56858160'


Rendered C:/Ruby193/lib/ruby/gems/1.9.1/gems/actionpack-3.2.7/lib/action_dispa


我在google上搜索了javascript_include_tag,并查看了许多线程,但找不到解决方案。

感谢您解决此问题的任何帮助。

环境信息:

$rails -v
Rails 3.2.7

$ruby -v
ruby 1.9.3p327 (2012-11-10) [i386-mingw32]


编辑:我只是注意到当我有咖啡脚本文件甚至是一个空文件时,就会发生此问题。我仍然不知道该如何解决。

最佳答案

检查一下,修改execjs runtimes.rb可以为我解决:

https://github.com/sstephenson/execjs/issues/81

我所做的修复是编辑lib / execjs / runtimes.rb(在execjs gem的路径下...在我的计算机上为c:\ Ruby192 \ lib \ ruby​​ \ gems \ 1.9.1 \ gems \ execjs-1.3.0) JScript运行时的定义如下:

JScript = ExternalRuntime.new(
  :name        => "JScript",
  :command     => "cscript //E:jscript //Nologo",
  :runner_path => ExecJS.root + "/support/jscript_runner.js",
  :encoding    => 'UTF-8'
)


问题似乎出在Windows 8中的JS运行时。解决它的方法可能有几种,安装node.js,therubyracer之类的方法。但这确实成功了。

09-12 06:57