我使用控制器生成了一个页面。但是当我去localhost时:3000 / pages / home。我收到了这个错误: Pages#home
中的ExecJS :: RuntimeError@RyanBigg好的,这里是完整的错误代码:
ExecJS::RuntimeError in Pages#home
Showing C:/Users/Anishka/Desktop/test/myfirstapp/app/views/layouts/application.html.erb where line #6 raised:
(in C:/Users/Anishka/Desktop/test/myfirstapp/app/assets/javascripts/pages.js.coffee)
Extracted source (around line #6):
3: <head>
4: <title>Myfirstapp</title>
5: <%= stylesheet_link_tag "application", :media => "all" %>
6: <%= javascript_include_tag "application" %>
7: <%= csrf_meta_tags %>
8: </head>
9: <body>
Rails.root: C:/Users/Anishka/Desktop/test/myfirstapp
Application Trace | Framework Trace | Full Trace
app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb__601430158_32305500'
Request
Parameters:
None
Show session dump
Show env dump
Response
Headers:
None
我在这里找到了一个解决方案ExecJS::RuntimeError on Windows trying to follow rubytutorial
是:
适用于我们的修复:在有问题的系统上,找到ExecJS runtimes.rb文件。看起来像这样。制作找到的文件的副本 用于备份。打开原始runtimes.rb进行编辑。找出 以JScript = ExternalRuntime.new(.In 该部分,包含:command =&gt; “cscript // E:jscript // Nologo // U“, - 仅删除// U.然后在包含的行上 :encoding =&gt;带有// U的'UTF-16LE'#CScript返回UTF-16LE - 更改 UTF-16LE到UTF-8。将更改保存到文件。这一节 文件现在应该是:
JScript = ExternalRuntime.new( :name =&gt; “JScript的”, :command =&gt; “cscript // E:jscript // Nologo”, :runner_path =&gt; ExecJS.root +“/ support / jscript_runner.js”, :encoding =&gt; 'UTF-8'#CScript with // U返回UTF-16LE)接下来,停止然后重启你的Rails服务器并刷新你的页面 产生原始错误的浏览器。希望页面加载 现在没有错误。
但是runtimes.rb文件在哪里?我找不到那样的东西。我是铁杆初学者,感谢您的帮助。
答案 0 :(得分:1)
您需要更改ExecJS用于cscript的命令行。这可以在gem的runtimes.rb文件中完成。对我来说,这位于:
C:\ Ruby200-64 \ lib中\红宝石\宝石\ 2.0.0 \宝石\ execjs-2.0.2 \ lib中\ execjs
当然,根据您的Ruby版本及其安装位置,这将有所不同。
我在a thread for an ExecJS issue中找到了此解决方法。
我改变了这个:
JScript = ExternalRuntime.new(
:name => "JScript",
:command => "cscript //E:jscript //Nologo //U",
:runner_path => ExecJS.root + "/support/jscript_runner.js",
:encoding => 'UTF-16LE' # CScript with //U returns UTF-16LE
)
到此:
JScript = ExternalRuntime.new(
:name => "JScript",
:command => "cscript //E:jscript //Nologo",
:runner_path => ExecJS.root + "/support/jscript_runner.js",
:encoding => 'UTF-8' # CScript with //U returns UTF-16LE
)
此屏幕截图也来自该主题: