我在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之类的方法。但这确实成功了。