#author("2022-02-08T05:21:02+00:00","default:src128","src128") #author("2022-02-08T05:52:28+00:00","default:src128","src128") &tag(Rails/Bootstrap4/Rails6.1に導入); *目次 [#fcb9c0e6] #contents *関連ページ [#v1cb4e00] *参考情報 [#uafbc7a7] -[[Adding Bootstrap 4 to a Rails 6 project:https://www.linkedin.com/pulse/adding-bootstrap-4-rails-6-project-josh-lee]] *基本方針 [#q9088bfb] -Rails 6.1でも引き続きwebpackerでJavaScriptを管理しなければならない。 -webpackerでJavaScriptだけでなくscssファイルを管理することもでき、その場合使用するタグやapplication.scssの場所が異なってくる。 -以下の方法はJavaScriptをwebpackerでscssを従来の方法(sprockets)で管理する方法。これでデフォルトのapplication.html.erbが使えるはず。 -ただしfontawesomeはapplication.jsで読み込む。 *Bootstrap4を導入(Rails 6.1編) [#k13ec77d] Bootstrap4とjQueryとFontawesomeを導入する。 **yarnでjQueryとBootstrapとfontawesomeを導入 [#sef1ae5d] -MacPortsの場合nodejs14だとエラーが発生したのでnodejs16をインストールしておく。 -以下のコマンドを実行 bundle exec rails webpacker:install #最初の1回のみ必要 yarn add bootstrap@4 jquery popper.js yarn add @fortawesome/fontawesome-free **jsをインクルード [#f48f2476] -app/javascript/packs/application.jsを編集。 #pre{{ import Rails from "@rails/ujs" import Turbolinks from "turbolinks" import * as ActiveStorage from "@rails/activestorage" import "channels" //追加ここから import 'bootstrap' import '@fortawesome/fontawesome-free/js/all' import jQuery from 'jquery' window.jQuery = window.$ = jQuery //追加ここまで Rails.start() Turbolinks.start() ActiveStorage.start() }} **scssをインクルード [#i5f15f28] -app/assets/stylesheets/application.scssを新規作成。application.cssは削除する。 @import 'bootstrap/scss/bootstrap'; **Bootstrapとfontawesomeの使用 [#ofbd88c8] -application.html.erbの変更 #pre{{ <div class="container"> <%= yield %> </div> }} -index.html.erb #pre{{ <h1><i class='fa fa-home'></i>Books</h1> <table class="table"> (以下省略) }}