我在Windows 7笔记本电脑上有一个完美的开发环境。今天,我得到了一台新的Windows 8笔记本电脑,并尝试在其上设置开发环境。安装了rails等并创建了新的示例应用程序,它运行良好。然后我克隆了我的应用程序并尝试了。得到以下错误:
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
我用谷歌搜索并搜索了javascript_include_tag,并查看了很多线程,但无法找到解决方案。
感谢您解决此问题的任何帮助。
环境信息:
$rails -v
Rails 3.2.7
$ruby -v
ruby 1.9.3p327 (2012-11-10) [i386-mingw32]
编辑:我刚刚发现当我有咖啡脚本文件甚至是空文件时会出现此问题。我仍然不知道如何解决它。
答案 0 :(得分:8)
检查出来修改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,类似的东西。但这就行了。
答案 1 :(得分:1)
在您的application.js中,如果您将“应用程序”更改为“default”,它将开始工作。我不知道为什么,但确实如此。
阅读application.js感觉就好像该页面会尝试在 assets / javascripts / 文件夹中搜索turbolinks.js但无法找到该文件。当我们将它从应用程序更改为默认值时,它会将rubolinks从Ruby的默认位置拉出,而不是应用程序。只是我的假设。