QA@IT
«回答へ戻る

Asset pipelineの話と後段をつなぐ一文を追加

319
 Rails 3.1からAsset pipelineという仕組みが導入されています。
 これは読み込み時間を短縮する為に個別のCSS/JSファイルを結合し、単一のCSS/JSファイルとしてまとめて提供してくれる機能です。
 (初期設定ではproductionモードのみ有効)
+その関係で、application.cssファイルに記述されたコメント文に意味が発生しています。
 
 app/assets/stylesheets/application.cssを見てみると、コメントアウトされていますが以下の行が確認できるかと思います。
 

Rails 3.1からAsset pipelineという仕組みが導入されています。
これは読み込み時間を短縮する為に個別のCSS/JSファイルを結合し、単一のCSS/JSファイルとしてまとめて提供してくれる機能です。
(初期設定ではproductionモードのみ有効)
その関係で、application.cssファイルに記述されたコメント文に意味が発生しています。

app/assets/stylesheets/application.cssを見てみると、コメントアウトされていますが以下の行が確認できるかと思います。

 *= require_self
 *= require_tree .

このうち、require_tree .がapp/assets/stylesheets以下の全CSSファイルを読み込む部分になります。
この際、読み込む順番は辞書順になるため、hoge.cssよりもscaffold.cssは後に読まれることになります。

読み込む順番の指定方法 その1

app/assets/stylesheets/application.cssのコメント部分に個別のrequireを追加することで明示的に順番を指定することができます。

 *= require_self
 *= require scaffolds.css
 *= require hoges.css
 *= require_tree .

読み込む順番の指定方法 その2

0_scaffold.css、1_hoge.cssなどファイル名の先頭に数字などをつけることで読み込む順番を変えられます。

Rails 3.1からAsset pipelineという仕組みが導入されています。
これは読み込み時間を短縮する為に個別のCSS/JSファイルを結合し、単一のCSS/JSファイルとしてまとめて提供してくれる機能です。
(初期設定ではproductionモードのみ有効)
その関係で、application.cssファイルに記述されたコメント文に意味が発生しています。

app/assets/stylesheets/application.cssを見てみると、コメントアウトされていますが以下の行が確認できるかと思います。

```ruby
 *= require_self
 *= require_tree .
```

このうち、`require_tree .`がapp/assets/stylesheets以下の全CSSファイルを読み込む部分になります。
この際、読み込む順番は辞書順になるため、hoge.cssよりもscaffold.cssは後に読まれることになります。

## 読み込む順番の指定方法 その1
app/assets/stylesheets/application.cssのコメント部分に個別のrequireを追加することで明示的に順番を指定することができます。

```ruby
 *= require_self
 *= require scaffolds.css
 *= require hoges.css
 *= require_tree .
```


## 読み込む順番の指定方法 その2
0_scaffold.css、1_hoge.cssなどファイル名の先頭に数字などをつけることで読み込む順番を変えられます。

回答を投稿

Rails 3.1からAsset pipelineという仕組みが導入されています。
これは読み込み時間を短縮する為に個別のCSS/JSファイルを結合し、単一のCSS/JSファイルとしてまとめて提供してくれる機能です。
(初期設定ではproductionモードのみ有効)

app/assets/stylesheets/application.cssを見てみると、コメントアウトされていますが以下の行が確認できるかと思います。

 *= require_self
 *= require_tree .

このうち、require_tree .がapp/assets/stylesheets以下の全CSSファイルを読み込む部分になります。
この際、読み込む順番は辞書順になるため、hoge.cssよりもscaffold.cssは後に読まれることになります。

読み込む順番の指定方法 その1

app/assets/stylesheets/application.cssのコメント部分に個別のrequireを追加することで明示的に順番を指定することができます。

 *= require_self
 *= require scaffolds.css
 *= require hoges.css
 *= require_tree .

読み込む順番の指定方法 その2

0_scaffold.css、1_hoge.cssなどファイル名の先頭に数字などをつけることで読み込む順番を変えられます。

Rails 3.1からAsset pipelineという仕組みが導入されています。
これは読み込み時間を短縮する為に個別のCSS/JSファイルを結合し、単一のCSS/JSファイルとしてまとめて提供してくれる機能です。
(初期設定ではproductionモードのみ有効)

app/assets/stylesheets/application.cssを見てみると、コメントアウトされていますが以下の行が確認できるかと思います。

```ruby
 *= require_self
 *= require_tree .
```

このうち、`require_tree .`がapp/assets/stylesheets以下の全CSSファイルを読み込む部分になります。
この際、読み込む順番は辞書順になるため、hoge.cssよりもscaffold.cssは後に読まれることになります。

## 読み込む順番の指定方法 その1
app/assets/stylesheets/application.cssのコメント部分に個別のrequireを追加することで明示的に順番を指定することができます。

```ruby
 *= require_self
 *= require scaffolds.css
 *= require hoges.css
 *= require_tree .
```


## 読み込む順番の指定方法 その2
0_scaffold.css、1_hoge.cssなどファイル名の先頭に数字などをつけることで読み込む順番を変えられます。