【问题标题】:ExecJS::ProgramError in Welcome#index TypeError: Object doesn't support this property or methodWelcome#index TypeError 中的 ExecJS::ProgramError:对象不支持此属性或方法
【发布时间】:2015-05-08 06:16:43
【问题描述】:

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

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

这是我所做的:

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

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

3) 重新启动服务器。

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

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 的框架,但在安装或创建基本应用程序时从未遇到过这么大的困难。

【问题讨论】:

    标签: ruby-on-rails ruby windows


    【解决方案1】:

    在您的 /app/views/layouts/application.html.erb 第 5 行和第 6 行中,将第一个参数 application 更改为默认值。

    【讨论】:

    • 太棒了,它奏效了。但是我对 Ruby on Rails 完全失去了希望,它真的很糟糕,官方文档本身并没有说明如何正确安装或创建应用程序。
    • @Gaurav Gupta 你能解释一下问题是什么以及为什么必须更改参数才能使脚本正常工作吗?
    • 被否决 - 没有解释为什么解决方案有效,这意味着我必须弄清楚为什么它对我不起作用。 (各种链接创建标签似乎会动态创建指向默认情况下已在 assets/ 文件夹中创建的特定文件的链接,因此可能存在一个版本,其中默认索引页面尝试访问 application.css(例如)而 default.css 是预安装的文件。)
    【解决方案2】:

    虽然上述解决方案有效(来自 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 文件页面中未使用)。

    【讨论】:

      猜你喜欢
      • 2015-07-02
      • 2013-10-05
      • 1970-01-01
      • 2015-03-30
      • 2019-04-09
      • 2013-03-23
      • 1970-01-01
      相关资源
      最近更新 更多