Railsメモ(5) : Bootswatch(Bootstrap)で見た目を変更する
手っ取り早く見た目を良くするならBootstrapだが、今回は色々なテーマが選択できるBootswatchを使用してみる。
RailsでBootswatchを使うgemとしては、
- GitHub - maxim/bootswatch-rails: Bootswatches converted to SCSS ready to use in Rails asset pipeline.
- GitHub - scottvrosenthal/twitter-bootswatch-rails: twitter bootstrap rails gem that allows easy customization of bootstrap's less and javascript components
があるみたいだが、Star数などの多いmaxim/bootswatch-rails
を使用してみる。
READMEを見てみると、
が必要のようなので、まずこれを使えるようにする。
bootstrap-sass
Gemfile
にbootstrap-sass
を追加してbundle install
する。sass-rails
も必要らしいがデフォルトで記述があるので追加は不要。
gem 'bootstrap-sass', '~> 3.3.5'
bootstrap-sass
では拡張子が.scss
のapplication.scss
を編集するため、下記コマンドでリネームする。
$ mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss
次にapplication.scss
の
*= require_tree . *= require_self
を削除して、かわりに
// "bootstrap-sprockets" must be imported before "bootstrap" and "bootstrap/variables" @import "bootstrap-sprockets"; @import "bootstrap";
を追加する。
続いて、JavaScriptの機能も使用するためapp/assets/javascripts/application.js
のjquery
より後ろにbootstrap-sprockets
を追加する。
//= require jquery //= require bootstrap-sprockets
これでbootstrap-sass
の設定は完了。
bootswatch-rails
Gemfile
にbootswatch-rails
を追加してbundle install
する。
gem 'bootswatch-rails'
そしてapplication.scss
を以下のように編集する。ここで使用するテーマ名を選択するが、READMEにあるCerulean
を試すことにする。
// Example using 'Cerulean' bootswatch //Import bootstrap-sprockets @import "bootstrap-sprockets"; // Import cerulean variables @import "bootswatch/cerulean/variables"; // Then bootstrap itself @import "bootstrap"; // Bootstrap body padding for fixed navbar body { padding-top: 60px; } // And finally bootswatch style itself @import "bootswatch/cerulean/bootswatch"; // Whatever application styles you have go last @import "base";
編集後サーバーを再起動してアクセスしてみるが、下記エラーが表示されてうまくいかない。
ActionView::Template::Error (File to import not found or unreadable: base. Load paths: …省略…
調べたところ最後の@import "base";
は追加したいスタイルがなければ不要なのでコメントアウトする。
これでbootswatch-rails
の設定は完了。
ビューの編集
Bootswatchが適用されているか確認するためにビューを編集する。
最初にapp/views/layouts/application.html.erb
のbody
タグ内を編集してNavbarを追加する。
…省略… <body> <div class="navbar navbar-default navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <%= link_to 'Billboard', root_path, class: 'navbar-brand' %> </div> </div> </div> <div class="container"> <%= yield %> </div> </body> …省略…
次にapp/views/songs/index.html.erb
のtable
タグにclass
属性を追加する。
<table class="table table-striped table-hover"> …省略… </table>
これで全ての設定が完了。ブラウザでアクセスすると下図のようにBootswatchのテーマが適用された画面が表示される。
テーマを変えたくなったら、テーマ名が記述してる下記2行を別のテーマ名に変更する。
図はテーマをCerulean
からDarkly
に変更した結果。
… @import "bootswatch/darkly/variables"; … @import "bootswatch/darkly/bootswatch"; …
- 作者: すがわらまさのり,前島真一,近藤宇智朗,橋立友宏
- 出版社/メーカー: 技術評論社
- 発売日: 2014/06/06
- メディア: 大型本
- この商品を含むブログ (8件) を見る