2

タイトルはほとんどそれをすべて言います...

/app/assets/fonts/font.woffcssファイルから追加して参照しようとしまし/app/assets/fonts/font.woffたが、うまくいかないようです。

何か案は?

4

2 に答える 2

7

@JimLim が言及したアセット パイプラインは、Rails 4 では少し異なる動作をすることが判明しました。完全なドキュメントはこちら ですが、関連する抜粋は次のとおりです。

2 アセット パイプラインの使用方法

Rails の以前のバージョンでは、画像、JavaScript、スタイルシートなど、すべてのアセットが public のサブディレクトリに配置されていました。アセット パイプラインにより、これらのアセットの推奨される場所は app/assets ディレクトリになりました。このディレクトリ内のファイルは、Sprockets ミドルウェアによって提供されます。

アセットは引き続き公開階層に配置できます。public の下にあるアセットは、アプリケーションまたは Web サーバーによって静的ファイルとして提供されます。提供する前に何らかの前処理を行う必要があるファイルには、 app/assets を使用する必要があります。

本番環境では、Rails はデフォルトでこれらのファイルを public/assets にプリコンパイルします。プリコンパイルされたコピーは、Web サーバーによって静的アセットとして提供されます。app/assets 内のファイルが本番環境で直接提供されることはありません。

そのため、/fonts ディレクトリを /public に移動し、それに応じて @font-face 宣言のパスを調整すると、すべて正常に動作します。

于 2013-08-27T15:11:08.117 に答える
3

次のように、アセット パイプラインにフォント ディレクトリを含めるように Rails に指示する必要があります。

config.assets.paths << Rails.root.join('app', 'assets', 'fonts')

app最後に、Rails が正しいパスを見つけてくれるので、接頭辞 などをいじる必要はありません。 css/scss ファイルに拡張子をapp/assets追加し、埋め込まれた ruby​​ を使用します.erb application.css.erb

src: url("<%= asset_path('fonts.woff') %>");

(関連する質問)

于 2013-08-16T21:51:06.150 に答える