CoffeeScript的Ruby-on-Rails错误?

Geo*_*off 2 ruby-on-rails

任何人都知道为什么RoR没有正确提供CoffeeScript?

在我的应用程序视图中

<%= javascript_include_tag :defaults %>
Run Code Online (Sandbox Code Playgroud)

在浏览器中,显示为:

<script src="/assets/defaults.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

但是当我点击该链接时,找不到defaults.js.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>Action Controller: Exception caught</title>
  <style>
    body { background-color: #fff; color: #333; }

    body, p, ol, ul, td {
      font-family: helvetica, verdana, arial, sans-serif;
      font-size:   13px;
      line-height: 18px;
    }

    pre {
      background-color: #eee;
      padding: 10px;
      font-size: 11px;
    }

    a { color: #000; }
    a:visited { color: #666; }
    a:hover { color: #fff; background-color:#000; }
  </style>
</head>
<body>

<h1>Routing Error</h1>
<p><pre>No route matches [GET] &quot;/assets/defaults.js&quot;</pre></p>



</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Rya*_*igg 10

在Rails 3.0中,这个:defaults参数实际上是所谓的JavaScript扩展,由Rails配置扩展为包含Prototype文件在public/javascripts.

在Rails 3.1中,不再存在这些JavaScript扩展,而是存在清单文件.因此,您不应该使用javascript_include_tag :defaults它,而是javascript_include_tag :application应用程序的默认JavaScript清单文件.

在默认的Rails 3.1应用程序中,有一个app/assets/javascripts/application.js文件,其中包含要为其提供文件的Sprockets的指令.我已经开始研究 Rails 的Asset Pipeline指南,它解释了这些文件的工作原理以及指令的含义.