- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
刚刚运行了“生成脚手架用户...”命令。
然后我转到 localhost:3000/users/
并看到以下内容:
ExecJS::RuntimeError in Users#index
Showing C:/Users/TheOnlyUser/Desktop/NMS/nms2/app/views/layouts/application.html.erb where line #6 raised:
(in C:/Users/TheOnlyUser/Desktop/NMS/nms2/app/assets/javascripts/ads.js.coffee)
Extracted source (around line #6):
3: <head>
4: <title>Nms2</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/TheOnlyUser/Desktop/NMS/nms2
Application Trace | Framework Trace | Full Trace
app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___753556572_43068540'
app/controllers/users_controller.rb:7:in `index'
...
这一切意味着什么?
更新:
这是在 Windows 8 上。Windows 7 不会出现这些错误。
最佳答案
几个月前,我的 friend 在尝试有关 Win 8 RTM 的 Rails 教程时遇到了此错误。不确定 Windows 7 中是否也存在此问题,但这可能会有所帮助。
选项:
1) 删除 //= require_tree .
/忽略问题 - 此行一开始就不应该引起问题。 ExecJS 与系统上的 JavaScript 运行时正常工作存在实际问题,删除这一行只是忽略了这一事实。
2) 安装 Node.js/逃跑 - 许多人似乎最终只是安装 Node.js 并使用它,而不是系统上已有的 JavaScript 运行时。虽然这是一个有效的选项,但它还需要额外的软件,并且只能避免最初的问题,即 ExecJS 无法与系统上已有的 JavaScript 运行时正常工作。如果系统上现有的 JavaScript 运行时应该可以工作,为什么不让它工作而不是安装更多软件呢?根据 ExecJS 创建者的说法,实际上支持 Windows 中内置的运行时...
ExecJS lets you run JavaScript code from Ruby. It automatically picks the best runtime available to evaluate your JavaScript program, then returns the result to you as a Ruby object.
ExecJS supports these runtimes:
- therubyracer - Google V8 embedded within Ruby
- therubyrhino - Mozilla Rhino embedded within JRuby
- Node.js
- Apple JavaScriptCore - Included with Mac OS X
- Microsoft Windows Script Host (JScript)
3) 实际解决问题/学习 - 使用选项 1 和 2 的知识来搜索其他解决方案。在实际找到有关我们所遇到的根本问题的信息之前,我无法告诉您在看到选项 1 或 2 是可接受的解决方案后我关闭了多少网页。我们继续寻找的唯一原因是我们无法相信 Rails 团队会 (1) 在每个脚手架生成的导致问题的项目中插入一行代码,或者 (2) 要求我们安装额外的软件只是为了运行默认值行代码。因此,我们最终解决了根本问题(您的里程可能会有所不同)。
对我们有用的修复:在有问题的系统上,找到 ExecJS 的 runtimes.rb 文件。看起来像 this 。复制找到的文件以进行备份。打开原始runtimes.rb进行编辑。找到以 JScript =ExternalRuntime.new(
行开头的部分。在该部分中,在包含 :command => "cscript//E:jscript//Nologo//U 的行上",
- 仅删除 //U
。然后在包含 :encoding => 'UTF-16LE' # CScript with//U 返回 UTF-16LE
- 将 UTF-16LE 更改为 UTF-8
。保存对文件的更改。文件的这一部分现在应为:
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
)
接下来,停止然后重新启动 Rails 服务器,并刷新浏览器中产生原始错误的页面。希望页面现在加载时没有错误。这是我们最初发布结果的 ExecJS 问题线程:https://github.com/sstephenson/execjs/issues/81#issuecomment-9892952
如果这不能解决问题,您可以随时使用您(希望)制作的备份副本覆盖修改后的runtimes.rb,一切都会回到原点。在这种情况下,请考虑选项 3 并继续搜索。让我们知道什么最终对您有用......除非删除 require_tree 或安装 node.js,否则已经有很多这样的事情了。 :)
关于ruby-on-rails - 用户#index 中的 ExecJS::RuntimeError (RoR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13530042/
以下是一个非常简单的ruby服务器。 require 'socket' local_socket = Socket.new(:INET, :STREAM) local_addr = Socket.
我正在使用 OS X(使用 bash),并且是 unix 的新手。我想知道是否可以修改一些文件以便运行 ruby 程序,我不需要“ruby file.rb”,而是可以运行“ruby.rb”。 有理
我在用 Ruby 替换字符串时遇到一些问题。 我的原文:人之所为不如兽之所为。 我想替换为:==What== human does is not like ==what== animal does.
我想在一个循环中从 Ruby 脚本做这样的事情: 写一个文件a.rb(每次迭代都会改变) 执行系统(ruby 'a.rb') a.rb 将带有结果的字符串写入文件“results” a.rb 完成并且
我的问题是尝试创建一个本地服务器,以便我可以理解由我的新团队开发的应用程序。我的问题是我使用的是 Ruby 2.3.3,而 Gemfile 需要 2.3.1。我无法编辑 Gemfile,因为我被告知很
我有一个使用 GLI 框架用 Ruby 编写的命令行实用程序。我想在我的主目录中配置我的命令行实用程序,使用 Ruby 本身作为 DSL 来处理它(类似于 Gemfile 或 Rakefile)。 我
我的 Rails 应用 Controller 中有这段代码: def delete object = model.datamapper_class.first(:sourced_id =>
我正在寻找的解析器应该: 对 Ruby 解析友好, 规则设计优雅, 产生用户友好的解析错误, 用户文档的数量应该比计算器示例多, UPD:允许在编写语法时省略可选的空格。 快速解析不是一个重要的特性。
我刚开始使用 Ruby,听说有一种“Ruby 方式”编码。除了 Ruby on Rails 之外,还有哪些项目适合学习并被认可且设计良好? 最佳答案 Prawn被明确地创建为不仅是一个该死的好 PDF
我知道之前有人问过类似的问题,但是我该如何构建一个无需在前面输入“ruby”就可以在终端中运行的 Ruby 文件呢? 这里的最终目标是创建一个命令行工具包类型的东西。现在,为了执行我希望用户能够执行的
例如哈希a是{:name=>'mike',:age=>27,:gender=>'male'}哈希 b 是 {:name=>'mike'} 我想知道是否有更好的方法来判断 b 哈希是否在 a 哈希内,而
我是一名决定学习 Ruby 和 Ruby on Rails 的 ASP.NET MVC 开发人员。我已经有所了解并在 RoR 上创建了一个网站。在 ASP.NET MVC 上开发,我一直使用三层架构:
最近我看到 Gary Bernhardt 展示了他用来在 vim 中执行 Ruby 代码的 vim 快捷方式。捷径是 :map ,t :w\|:!ruby %. 似乎这个方法总是执行系统 Rub
在为 this question about Blue Ruby 选择的答案中,查克说: All of the current Ruby implementations are compiled to
我有一个 Ruby 数组 > list = Request.find_all_by_artist("Metallica").map(&:song) => ["Nothing else Matters"
我在四舍五入时遇到问题。我有一个 float ,我想将其四舍五入到小数点后的百分之一。但是,我只能使用 .round ,它基本上将它变成一个 int,意思是 2.34.round # => 2. 有没
我使用 ruby on rails 编写了一个小型 Web 应用程序,它的主要目的是上传、存储和显示来自 xml(文件最多几 MB)文件的结果。运行大约 2 个月后,我注意到 mongrel 进程
我们如何用 Ruby 转换像这样的字符串: 𝑙𝑎𝑡𝑜𝑟𝑟𝑒 收件人: Latorre 最佳答案 s = "𝑙𝑎𝑡𝑜𝑟𝑟𝑒" => "𝑙𝑎𝑡𝑜𝑟𝑟𝑒" s.u
通过 ruby monk 时,他们偶尔会从左侧字段中抛出一段语法不熟悉的代码: def compute(xyz) return nil unless xyz xyz.map {|a,
不确定我做错了什么,但我似乎弄错了。 问题是,给你一串空格分隔的数字,你必须返回最大和最小的数字。 注意:所有数字都是有效的 Int32,不需要验证它们。输入字符串中始终至少有一个数字。输出字符串必须
我是一名优秀的程序员,十分优秀!