Welcome#index中的ExecJS :: ProgramError TypeError:Object不支持此属性或方法

时间:2015-05-08 06:16:43

标签: ruby-on-rails ruby windows

我是Ruby on Rails的新手,我很难在Windows 8机器上安装该软件。现在我只是关注this guide来创建示例Hello World示例。

当我尝试按照 4.3设置应用程序主页部分中给出的步骤进行操作时,我开始面临问题。

这是我做的:

1)在编辑器中打开文件config / routes.rb。

2)取消注释行root 'welcome#index'

3)重新启动服务器。

现在当我以localhost:3000的身份访问网址时,我的浏览器开始出现以下错误:

ExecJS::ProgramError in Welcome#index 

 Showing E:/Rails/blog/app/views/layouts/application.html.erb where line #6 raised:

TypeError: Object doesn't support this property or method
  (in C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/turbolinks-2.5.3/lib/assets/javascripts/turbolinks.js.coffee)

Extracted source (around line #6):
<head>
<title>Blog</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body>

Rails.root: E:/Rails/blog

你能告诉我为什么我会遇到这个问题吗?

还在开发使用Ruby On Rails的应用程序吗?因为我尝试已经有2天了,但在我看到Hello World示例之前,我遇到了很多问题。我一直致力于基于Java的框架,但我从未在安装或创建基本应用程序时遇到太多困难。

2 个答案:

答案 0 :(得分:17)

/app/views/layouts/application.html.erb 第5行和第6行中,将第一个参数应用程序更改为默认值。

答案 1 :(得分:0)

虽然上述解决方案有效(来自Gaurav Gupta),但更好的方法是将'coffee-script-source'的版本降级到v1.8.0,因为问题来自版本1.9.0及以上:

blog / GemFile 中添加coffee-script-source v1.8.0(v1.9.0在Windows上不起作用)

#For Windows it works with CofferScript v1.8
gem 'coffee-script-source', '1.8.0'

然后停止服务器(如果它正在运行)并执行:

bundle update coffee-script-source

它现在应该可以正常工作了。

blog \ app \ views \ layouts \ application.html.erb 第5行和第6行中替换"application" "default"将阻止加载额外文件(导致页面中未使用的CSS和javascript文件)。