自分の作っているサービスで、ずっとbootstrapが上手く反映されてくれずハマっていたけど、解消できたのでメモφ(..)
前提
事象
発生していた事象は下記の通りです。
環境
私のサービスの環境情報を下記に記載しておきます。
gem | version |
---|---|
rails | 5.1.2 |
twitter-bootstrap-rails | 4.0.0 |
手順
jQueryを導入する
Bootstrap3はjQueryに依存していますが、Rails5
からjQueryが依存から除外されたので、明示的にGemfile
に記述する必要があります。
下記をGemfile
に追記し、bundle install
を実行します。
gem 'jquery-rails'
application.jsの修正
jQueryの導入が出来たらapplication.js
に追記し、Asset管理対象に追加します。
※twitter/bootstrap
が記載されていない場合は、合わせて追記します。
//= require jquery //= require twitter/bootstrap
この時点で、ナビバーのドロップダウンリストが開かないは解消するはずです!
viewportの設定
application.html.erb
に下記を追記します。
<meta name="viewport" content="width=device-width, initial-scale=1">
これで、スマホでアクセスしてもナビバーがハンバーガーメニューにならないが解消されるはずです!
※viewportについては下記が参考になると思います。
おわりに
Rails5では、jQueryの依存がなくなってフロントエンド界隈が盛り上がっていますが、Rails4以前でBootstrapを使っているサービスは数多くあると思うので、Railsのバージョンアップの際に参考になればと思いますφ(..)
大きなバージョンアップの際には依存するライブラリへの影響も気をつける必要がありますね・・・!