Bootstrapの導入時に発生するエラーと解決法
ActionController::RoutingError (No route matches [GET] "/fonts/glyphicons-halflings-regular.woff")
Ruby on Rails4の開発で/vender/assets/stylesheets/によそからもってきたbootstrap.cssを入れているとき、上記のエラーが発生することがある。 その場合、フォントを/vendor/assets/fontsに置き、config/application.rbに
config.assets.paths << "#{Rails}/vendor/assets/fonts"
を挿入する必要があるが、もう1点しなければならないことがあり、それは/app/assets/stylesheets/custom.css.scssなどではなく、/vender/assets/stylesheets/bootstrap.cssを改変することである。
@font-face { font-family: 'Glyphicons Halflings'; src: url("../assets/glyphicons-halflings-regular.eot"); src: url("../assets/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../assets/glyphicons-halflings-regular.woff2") format("woff2"), url("../assets/glyphicons-halflings-regular.woff") format("woff"), url( "../assets/glyphicons-halflings-regular.ttf") format("truetype"), url("../assets/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); 1215 }
上記に書き換えたところ、うまく動いた。