2012-03-19 11 views
6

vendor/assetsと答えてください。それぞれtemp.jpgという名前の2つのサブディレクトリ/alpha/betaがあります。私の理解では、/assets/temp.jpgに対してGETリクエストが行われています。アルファディレクトリのものが提供されていることは間違いありません。しかし、どのように私はそれらの2つを区別することができますか?私はそれがasset_urlヘルパーで行うことができると思いますが、私は確信していません。Rails - アセットパイプライン - ディレクトリ単位でリソースを特定する

答えて

1


あなたは、RailsのコンソールでRails.application.config.assets.pathsを検査することにより、検索パスを表示することができます。

追加の(完全修飾された)パスをconfig/application.rbのパイプラインに追加できます。例えば:

config.assets.paths << Rails.root.join("app", "assets", "flash") 

スプロケットは、標準アプリケーションパスとレールエンジンによって追加された経路を含むconfig.assets.pathsで指定された経路を介して見えるであろう。

画像が必要な場合も、サブディレクトリに編成することができ、そしてそれらは、タグ内のディレクトリ名を指定してアクセスすることができます。

<%= image_tag "icons/rails.png" %> 

アセットパイプラインを使用している場合は、私はURLが指定されていないリンクから提供される画像があるかどうかは不明です。 1つが供給されている場合、Sprocketsがこれらのディレクトリを再帰的に読み取る順序と関係しているはずです。それをアルファベット順に読むと、「ベータ」イメージが表示されます。それ以外の場合は、ランダムになるだろう、私はスプロケットがディレクトリをどのように読むのか分からない。

あなたはそこに明示的なパスを入れる方が良いでしょう。ベータ版の画像を表示したい場合など、何らかのテストを行っている場合は、パスに「アルファ」または「ベータ」を渡すことができるように、いくつかのパラメタライズされた方法をお勧めします。

関連する問題