質問: awsでデプロイしたのですが、表示されたアプリのフォントがデプロイする前と変わっていて困っています。 使っていたのは『うずらフォント』というものだったのですが、デプロイして、ブラウザをみてみると普通のフォントになっており、フォントが適用されていませんでした。 ブラウザ(クローム)の検証機能で、エラーが出ていました。 ``` Failed to load resource: the server responded with a status of 404 (Not Found) ``` こちらのエラー調べたところ、読んでそのままで、ファイルが見つからない。パスが間違っているような問題みたいです。 デプロイ前には問題なく使えていたのですが、困惑しております。 こちらのフォントですが、cssに記述してあります。 ``` @font-face { font-family: 'quizfont'; src: url('nikumarufont.otf'); font-weight: normal; font-style: normal; } @font-face { font-family: 'uzura'; src: url('uzura.ttf'); font-weight: normal; font-style: normal; } ``` 2個入れてあって2個目のウズラしか使っておりません。 こちらどのようにしたらフォント適用できるようになるでしょうか? 後、重ねて質問なのですが、css変更した際にはまたアセットプリコンパイルのコマンドする必要があるのでしょうか?コマンドは以下 ``` bundle exec rake assets:precompile RAILS_ENV=production ``` 一応毎回変更した際には、こちらのコマンドとec2インスタンスの再起動、nginx再起動、unicorn起動としています。 関係あるかわかりませんが、デプロイ時にアセットプリコンパイルのエラーが度々起こっていて、どうにも対処できなかったので、yui-compressorというGemを導入して、configでこちら指定しました。するとうまく動いたのでこのままデプロイしております。 DBはmysqlで、ブラウザはクロームです。PCはMacです。何かアドバイスなどいただけると助かります。 宜しくお願いします 追記 cssでパスの部分を一部変更しました ``` src: font-url('/assets/fonts/uzura.ttf'); ``` こうすると、検証でのエラー表示は消えたのですが、フォント自体は反映されてません。またんなぞが増えてしまったのですが、引き続き宜しくお願いしますm(._.)m
回答: > > フォントが適用されていませんでした。 > > > フォントファイルはRailsアプリのどこに配置されていますか? Railsは基本的に静的資材(CSSやJS、フォントファイル、画像)などをAssets Pipelineという機構で処理するのですが、まずその対象となっているかを知りたいです。 > > 後、重ねて質問なのですが、css変更した際にはまたアセットプリコンパイルのコマンドする必要があるのでしょうか?コマンドは以下 > > > あります。 RailsのAssets Pipelineは資材をすべてコンパイルして別のファイルとして書き出すので、変更の有無にかかわらずデプロイのたびにコンパイルを実行するのが一般的かと思います。 > > 関係あるかわかりませんが、デプロイ時にアセットプリコンパイルのエラーが度々起こっていて > > > どのようなエラーでしょうか?なにかファイルの配置にミスがあるのかもしれません。 > > こうすると、検証でのエラー表示は消えたのですが、フォント自体は反映されてません。 > > > この指定だと、おそらくAssets Pipelineが吐き出したファイルへ向いていないと思われます。 エラーが消えたのが謎ですが、パット見正しい指定には見えないです。