5

Rails 3.2.8を使用していて、アセットパイプラインの使用に切り替えたいと思います。

私は開発マシンを使用しており、アセットを次のように設定しています app/assets/stylesheets/application.css::

  ...    
  *= require_directory ../public/javascripts/jquery/themes/base
  *= require_directory ../public/prototype/stylesheets/css
*/

私のすべてのスタイルシートとjsと画像は、今のところキャッチオールであるパブリックフォルダーにあります。フォルダ構造:

app/assets
  /stylesheets
    /application.css
  /javascripts
  /images
  /public
    /stylesheets
    /javascripts
    /prototype
    /images

現在、public/assets/application.cssファイルは空です。このファイルを開発環境でコンパイルするにはどうすればよいですか?

Rails.application.config.assets.pathsRailsコンソールで実行するapp/assets/publicと、アセットの完全なディレクトリパスではなく、取得しています。

ビューでは、アセットパイプラインスタイルシートを次のように呼び出します。 <%= stylesheet_link_tag 'application.css' %>

編集1:すべてのスタイルシートをに移動しようとしましapp/assets/stylesheets/たが、ビューでapplication.cssが正しくコンパイルされていません。これにコンパイルされます:

<link href="/assets/application.css" media="screen" rel="stylesheet" type="text/css" />

そして、リンクlocalhost:3000 / Assets / application.cssを表示すると、それは空のファイルです。

編集2:二重引用符の代わりに一重引用符を使用しました。これにより構文エラーが修正されました。パスを理解したので、私はそれを理解していると思います。ありがとう!

4

2 に答える 2

10

application.cssの元の設定をそのままにして、アセットパイプラインに仕事を任せます。

*= require_self
*= require_tree .

そして、レイアウトで、コンパイルされたapplication.cssファイルをロードできるはずです。

<%= stylesheet_link_tag "application", :media => "all" %>

私はタムの答えに同意しません。開発中のデフォルトの場所以外の場所にファイルを配置する必要はありません。あなたは簡単にあなたのものを台無しにすることができます、そしてあなたがrequireJSのような資産管理を必要としない限り、あなたは資産パイプラインから多くの利益を得ることができます。

アセットパイプラインについて知っておくべきことはすべてここにあります:http: //guides.rubyonrails.org/asset_pipeline.html

于 2012-12-04T19:53:59.840 に答える
0

CSSファイルをに移動します

 app/assets/

そこからそれらを要求しました。

于 2012-12-04T18:48:50.933 に答える