参照
起こっていること
Rails6でHerokuにデプロイしたところBootStrapが効かなかったのですが解決できたのでメモとして残しておきます。ちなみに開発環境では最初から正常に動いていました。
環境
Ruby 2.6.6
Rails 6.0.3
手順
1.RailsにBootstrap/jQueryを追加する
bootstrapやjqueryを追加するために下記のコマンドを入れます
yarn add jquery bootstrap popper.js
2.app/javascriptにstylesheets/application.scss を追加
app/javascript/stylesheets/application.scss
@import '~bootstrap/scss/bootstrap';
3.app/javascript/packs/application.jsに以下を追加
app/javascript/packs/application.js
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
// 新規追加
import 'bootstrap';
import '../stylesheets/application';
4.最後にapp/views/layouts/application.html.erbの一部を修正します
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
以上でgit push heroku masterでしっかりとBootStrapが効いていました。私の原因としては
最後の手順のapplication.html.erbに<%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>が記述されていなかったのが原因でした。この違いで何が変わったのかは正直のところわかりません。
お詳しい方、ご教授くださると嬉しいです。