2011-06-22 3 views
2

誰かがRoRがCoffeeScriptを正しく提供していない理由を知っていますか?CoffeeScriptのRuby-on-Railsのバグ?

自分のアプリケーションビューで:ブラウザで

<%= javascript_include_tag :defaults %> 

、これはとして表示:

<script src="/assets/defaults.js" type="text/javascript"></script> 

しかし、私はそのリンクをクリックしたとき、defaults.jsが見つかりません。 Railsの3.0に

<!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> 

答えて

10

、この:defaults引数は、JavaScriptの拡張として知ら公共/ JavaScriptのでプロトタイプファイルを含めるようにアウト展開するレールによって構成されていたものを実際にしました。

Rails 3.1では、これらのJavaScript拡張はなくなりましたが、マニフェストファイルがあります。したがって、これにはjavascript_include_tag :defaultsを使用するのではなく、ご使用のアプリケーションのデフォルトのJavaScriptマニフェストファイルであるjavascript_include_tag :applicationを使用してください。

デフォルトのRails 3.1アプリケーションには、ファイルが必要なスプロケット用のディレクティブが含まれているapp/assets/javascripts/application.jsファイルがあります。私はbegun work on an Asset Pipeline guide for Railsを使って、これらのファイルの仕組みとそのディレクティブの意味を説明しています。

+0

Railsには 'defaults.js'がありませんでした。シンボル ':defaults'は、javascriptライブラリファイル(' prototype.js'など)と 'application.js'に拡張されました。 –

+0

@セイモン:ダング、私は編集の途中だったときに私を捕まえた!私は今それをきれいにしました。どのように見える? –

+0

あなたが書いたドキュメントはgood.I私は別のURLに入れようとしているいくつかのフォローアップの質問があります。 – Geoff