質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

SCSS

SCSSは、SassのCSSメタ言語です。Webページのスタイルを指定するCSSを効率的に記述することができます。ネストと呼ばれる入れ子構造で記述するため、CSSの全体の記述量を減らせる点が特徴です。さらに変数も利用できるため、変更や修正の際に少ない作業量で対応することもできます。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

0回答

1041閲覧

初回アクセスでBootstrapの変数が読み込まれない

NaoyaAbe

総合スコア3

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

SCSS

SCSSは、SassのCSSメタ言語です。Webページのスタイルを指定するCSSを効率的に記述することができます。ネストと呼ばれる入れ子構造で記述するため、CSSの全体の記述量を減らせる点が特徴です。さらに変数も利用できるため、変更や修正の際に少ない作業量で対応することもできます。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/07/26 10:36

編集2021/07/26 10:47

サーバー立ち上げ後のアクセスでBootstrapの変数が読み込まれない

ポートフォリオ作成中に、発生しました。
Bootstrap4.2 を使用しており、
_variables.scssファイル内にデフォルトで入っている $info というシアン色の変数が、初回アクセスで
読み込まれません。
イメージ説明

詳細

$ docker-compose upコマンド にてrailsサーバーを起動し、アプリにアクセスすると、上記画像のように、Bootstrapで定義している変数の読み込みに失敗します。

このエラー画面が表示されてから、何度かページ再読み込みを行うと、正常にアクセスできます。

考えていること

app/assets/layouts/application.html.hamlにて、Bootstrapのscssが読み込まれる前にhtmlを読み込んでいるため、
このエラーが出ていると考えています。
(※表示するhtmlには、class: 'bg-info' 等のBootstrapのクラスを使用しています。 )

試したこと

= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload'
この行をapplication.html.hamlの<head>タグ内の一番上に配置

= javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
この行を<head>タグ内に移動(現在、Bodyタグ最下部に配置している)

app/assets/stylesheets/application.scssにて、 *= require_self* require_selfに変更

コード

**app/views/layouts/application.html.haml** !!! %html %head %meta{ :content => 'text/html; charset=UTF-8', 'http-equiv' => 'Content-Type' }/ %meta{ name: 'viewport', content: 'width: device-width, initial-scale: 1, minimum-scale: 1, user-scalable: yes' } %title= full_title(page_title: yield(:title)) %link{ href: 'https://use.fontawesome.com/releases/v5.6.1/css/all.css', rel: 'stylesheet' } = csrf_meta_tags = csp_meta_tag = stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %body = render 'layouts/header' .container-fluid.main-container-fluid.position-relative .flash-messages = render 'layouts/flash_messages' = yield = render 'layouts/footer' .p-5= debug(params) if Rails.env.development? = javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
**app/assets/stylesheets/application.scss** /* * This is a manifest file that'll be compiled into application.css, which will include all the files * listed below. * * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's * vendor/assets/stylesheets directory can be referenced here using a relative path. * * You're free to add application-wide styles to this file and they'll appear at the bottom of the * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS * files in this directory. Styles in this file should be added after the last require_* statement. * It is generally better to create a new file per style scope. * require_self */ @import "bootstrap_custom"; @import "custom"; @import "responsive"
**app/assets/stylesheets/bootstrap_custom.scss** /* 必須 */ @import "./scss/functions"; @import "./scss/variables"; @import "./scss/mixins"; /* 使用中コンポーネント */ @import "./scss/dropdown"; @import "./scss/forms"; @import "./scss/nav"; @import "./scss/navbar"; @import "./scss/card"; @import "./scss/alert"; @import "./scss/grid"; @import "./scss/utilities"; @import "./scss/reboot"; @import "./scss/transitions"; @import "./scss/type"; @import "./scss/list-group"; @import "./scss/buttons"; @import "./scss/badge"; @import "./scss/tables"; @import "./scss/modal"; @import "./scss/close";
**app/assets/javascripts/application.js** // This is a manifest file that'll be compiled into application.js, which will include all the files // listed below. // // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's // vendor/assets/javascripts directory can be referenced here using a relative path. // // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the // compiled file. JavaScript code in this file should be added after the last require_* statement. // // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details // about supported directives. // //= require rails-ujs //= require activestorage //= require turbolinks //= require jquery3 //= require popper //= require bootstrap //= require_tree .
**app/assets/stylesheets/custom.scss** @import "bootstrap_custom"; /* --共通変数-------------------------- */ $header-height: 56px; /* --共通設定-------------------------- */ body{ background-color: lightgray; } form { width: 100%; } .main-container-fluid { min-height: 100vh; margin-top: $header-height; padding: 0; } .main-container-fluid > .container { padding-top: 50px; padding-bottom: 50px;p } a { text-decoration: none !important; color: black; opacity: 1.0; &:hover { opacity: 0.8; color: $info; ------------------------------ここでエラー発生! } }

現在のディレクトリ構造は下の画像のようになっています。
イメージ説明

開発環境

**Gemfile** ruby '2.6.6' gem 'bootsnap', '>= 1.1.0', require: false gem 'bootstrap', '~> 4.3.1' gem 'bootstrap4-kaminari-views' gem 'carrierwave' gem 'coffee-rails', '~> 4.2' gem 'counter_culture' gem 'devise' gem 'devise-i18n' gem 'dotenv-rails' gem 'haml_lint' gem 'haml-rails' gem 'jbuilder', '~> 2.5' gem 'jquery-rails' gem 'kaminari' gem 'mini_magick' gem 'omniauth', '1.9.1' gem 'omniauth-facebook' gem 'omniauth-rails_csrf_protection' gem 'puma', '~> 3.11' gem 'rails', '~> 5.2.1' gem 'rails-i18n', '~> 5.1' gem 'sass-rails' gem 'turbolinks', '~> 5' gem 'uglifier', '>= 1.3.0'
Docker環境で開発しています。

追加して欲しいコードなどがあれば、お伝えください!
よろしくお願いいたします!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問