Rails4 でフォントを追加し、ローカルの production モードで使用する
2013年12月19日
フォント指定をした fonts.css.scss.erb を app/assets/stylesheets/ 以下に配置する。
@charset "utf-8"; @font-face { font-family: 'font_name'; src: url('<%= asset_path "font_name.ttf" %>') format('truetype'); font-style: normal; font-weight: normal; }
フォント指定をした fonts.css.scss.erb を先に読み込むために app/assets/stylesheets/application.css で指定する。
require_tree .
より前に記述する。
*= require_self *= require fonts *= require_tree .
フォントを app/assets/fonts/ 以下に配置して、config/application.rb にアセットのパス指定とプレコンパイル指定をする。
module SomethingClass class Application < Rails::Application ... config.assets.paths << Rails.root.join('app', 'assets', 'fonts') config.assets.precompile += %w(.ttf) end end
config/environments/production.rb ファイルの config.serve_static_assets
を true
にする。
config.serve_static_assets = true
development 環境で public/assets/ 以下のファイルを二重読込させないように、
config/environments/development.rb ファイルに config.serve_static_assets
を追加して false
にする。
config.serve_static_assets = false
production モードでアセットをプレコンパイルする。
$ rake assets:precompile RAILS_ENV=production
production 用データベースを生成する。
$ rake db:migrate RAILS_ENV=production
production モードでサーバを起動する。
$ rails s -e production