タイトルはほとんどそれをすべて言います...
/app/assets/fonts/font.woff
cssファイルから追加して参照しようとしまし/app/assets/fonts/font.woff
たが、うまくいかないようです。
何か案は?
タイトルはほとんどそれをすべて言います...
/app/assets/fonts/font.woff
cssファイルから追加して参照しようとしまし/app/assets/fonts/font.woff
たが、うまくいかないようです。
何か案は?
@JimLim が言及したアセット パイプラインは、Rails 4 では少し異なる動作をすることが判明しました。完全なドキュメントはこちら ですが、関連する抜粋は次のとおりです。
2 アセット パイプラインの使用方法
Rails の以前のバージョンでは、画像、JavaScript、スタイルシートなど、すべてのアセットが public のサブディレクトリに配置されていました。アセット パイプラインにより、これらのアセットの推奨される場所は app/assets ディレクトリになりました。このディレクトリ内のファイルは、Sprockets ミドルウェアによって提供されます。
アセットは引き続き公開階層に配置できます。public の下にあるアセットは、アプリケーションまたは Web サーバーによって静的ファイルとして提供されます。提供する前に何らかの前処理を行う必要があるファイルには、 app/assets を使用する必要があります。
本番環境では、Rails はデフォルトでこれらのファイルを public/assets にプリコンパイルします。プリコンパイルされたコピーは、Web サーバーによって静的アセットとして提供されます。app/assets 内のファイルが本番環境で直接提供されることはありません。
そのため、/fonts ディレクトリを /public に移動し、それに応じて @font-face 宣言のパスを調整すると、すべて正常に動作します。
次のように、アセット パイプラインにフォント ディレクトリを含めるように 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') %>");
(関連する質問)