Rail 5.0.0.1にて開発しています。
色の管理としてSCSSパーシャルを利用して_colors.scss
を作成し色を分離。
複数存在する個別のSCSSファイルにて読み込む設定としているのですが、@import 'colors;
を、全てのSCSSファイルに記載しないと読み込まないのですが、これはそういうものなのでしょうか?
bootstrapやfont-awesomeを読み込む@import 'bootstrap';
や@import 'font-awesome';
は代表のscssファイルであるapplication.scss
に以下記載すれば、その他のSCSSファイルでは記載しなくても読み込む為(全てのscssファイル
に記載する必要がない)、質問させていただく次第です。stylesheetsフォルダ
の構成は以下の通り。
misakiフォルダ
内のscssファイルを読み込むために。misaki.html.erb(デフォルトのapplication.html.erb)
ファイルを作成し、以下の通り記載。
ruby
1<%= stylesheet_link_tag 'misaki', media: 'all', 'data-turbolinks-track': 'reload' %>
そして、stylsheetフォルダ直下のmisaki.css
ファイルに以下を記載し、misakiフォルダ内
のscssファイルを読み込む設定としています。
css
1/* 2*= require_tree ./misaki 3*/
config/initializers
ディレクトリにassets.rb
を作成し、以下記載しています。
ruby
1Rails.application.config.assets.version = '1.0' 2Rails.application.config.assets.precompile += %w( misaki.css )
controllers/application_controller.rb
に以下記載し、layoutメソッド
でレイアウト決定のメソッドを設定。
ruby
1class ApplicationController < ActionController::Base 2 protect_from_forgery with: :exception 3 4 layout :set_layout 5 6 private 7 def set_layout 8 if params[:controller].match(%r{\A(misaki|admin)/}) 9 Regexp.last_match[1] 10 else 11 'misaki' 12 end 13 end 14end
stylesheets/misaki
内の代表ファイルであるapplication.scss
ファイルに以下を記載
scss
1@import "bootstrap"; 2@import "colors"; 3@import "font-awesome-sprockets"; 4@import "font-awesome"; 5@import '*'
実際にSCSS
を記載するファイル(例えばmain.scss
には 以下の通り@import "colors";
を記載しないと、色を読み込まない)を以下の通り記載。@import "bootstrap";
は記載しなくても読み込む為、違和感があり質問させてください。
scss
1@import "colors"; 2 3body { 4 padding-top: 2rem; 5 padding-bottom: 3rem; 6 color: #5a5a5a; 7 text-align: center; 8}
あなたの回答
tips
プレビュー