参照
起こっていること
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' %>
が記述されていなかったのが原因でした。この違いで何が変わったのかは正直のところわかりません。
お詳しい方、ご教授くださると嬉しいです。