6

I purchased a nice-looking Twitter Bootstrap them online that is going to spice up my Rails 3.2.8 application. The package contains the following directories:

/css
/img
/js

Of course these files will have relative links to each other in them. Is there a standard way of integrating this type of stuff into the asset pipeline, or is it still a standard practice to put it under public?

4

1 に答える 1

11

アセット パイプラインを使用する必要があります。すべてがその方向に進んでおり、実際にはそれほど難しくありません (そうである場合を除いて)。ファイルは/app/assets/ディレクトリに移動します。

CSS の場合は、すぐに にドロップできるはずですがapp/assets/stylesheets/、ブートストラップが最初に含まれていることを確認してください。ブートストラップのファイルを簡単にインクルードできるようにする gem がいくつかあります。私はbootstrap-sassを使用していますが、 twitter-bootstrap-railsを試すこともできます (sass のサポートが必要かどうかによって異なります)。いずれの場合も、リンク先の readme を参照してください。各 gem について知っておくと便利な詳細が含まれています。

JavaScriptの場合、ほぼ同じはずです。application.js ファイルでは、テーマがカスタム JavaScript を追加する場合に備えて、前にブートストラップが含まれていることを確認してください。 //= require_tree .前にリストした両方の gem には、ブートストラップ用の JavaScript ファイルも含まれています。ドキュメントを読んで詳細を確認できます (両方の gem の通常とほぼ同じです)。

画像に関する限り、それらをapp/assets/images/ディレクトリに配置すると、それが機能するようにスタイルシートを少し変更する必要があります。のようにスタイルシートで画像が宣言されている場合は、代わりにヘルパーbackground: url('./images/bg.jpg');を使用する必要があるため、 のimage_pathようになりますbackground: url(image_path('bg.jpg'));。画像の名前を含めただけであることに注意してください。アセット パイプラインは、これを正しいパスに自動的に解析します。

テーマにカスタム フォントが含まれている場合はasset_path、 @font-face 宣言で次のようにヘルパーを使用することを除いて、画像と同じことを行います。

url(asset-path('museo700.ttf', font));

font-path、 など、使用できる型固有のヘルパーもありますimage-pathasset-path型が宣言されている場合でも、型固有のヘルパーが機能する場合でも、混乱を招かないように、使用するヘルパーと一貫性を保つ必要があります。

のようなディレクトリにカスタム フォントを配置できますapp/assets/fonts/。これらは assets ディレクトリにあるため、アセット パイプラインによって自動的に検出されます。

于 2012-10-02T18:58:48.870 に答える