Rails6(Ruby on Rails6) にBootstrapをWebpackerを使って導入する方法
2021年、すでにRails6が到来したにも関わらず、まだ出版される書籍にはRails4を前提にアプリ開発方法を教えている。その結果、自分のPC環境(Rails6)では書籍の説明通りにはいかず、エラーが時々発生していて、その中の一つ、Bootstrapと取り入れる方法に挫折を味わったが、複数回の試しにより得た解決方法をここにまとめておく。
環境の整理
- 開発環境:Windows10 Home 64ビットオペレーティングシステム、x64ベースプロセッサ
- Rails version 6系(Rails 6.1.3.2)
環境の構築
-
フォルダを作成(今回例:test_bootstrap)
-
フォルダをルートディレクトリに指定、そのあと
bundle init
-
Gemfileを編集(gem "rails"のコメントアウトを外す)
-
bundle config set path vendor/bundle
-
bundle install
-
bundle exec rails new . -d postgresql -f
-
config/database.ymlを以下のように設定する(postgresql)
*設定しないと、ActiveRecord::ConnectionNotEstablished エラとなる
-
rails db:create
-
rails s
動作確認用のファイルを用意
Bootstrapの導入
-
WebpakerでjQueryとpopper.jsというパッケージをインストール
yarn add jquery popper.js bootstrap
-
app\javascript\packs\application.js にて、以下1行を追加
import 'bootstrap'
- app\assets\stylesheets\application.css をapp\assets\stylesheets\application.scss にファイル拡張子を変更
- app\assets\stylesheets\application.scss にて、以下1行を追加
*= require bootstrap/dist/css/bootstrap.min.css
*追加後
6. rails s
ブラウザで確認(期待値:赤色の文字列 となった。OK)
- ちなみに、app\views\layouts\application.html.erb では一切変更を加えていない。
- 他にpopper 問題のようだったら、https://qiita.com/oreo3@github/items/2167a9ee08b2cf00cb4b 参照するがよい。