2017-07-09 9 views
0

bootstrap-rubygemの設定方法に従っています。 $black$whiteのような変数にアクセスしようとするときを除いて、すべてが機能します。未定義のSass :: SyntaxError変数があります。私は過去4時間にこれをグーグルで見つけています。私は何かをオンにする必要がありますか?私はこれまで2年前にレール4.2とブートストラップ3年でこれを成功させていましたが、今は迷っています。私は、Tができるものから、Rails 5 Bootstrap 4ブートストラップ変数を有効にする方法

Gemfile

source 'https://rubygems.org' 

git_source(:github) do |repo_name| 
    repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") 
    "https://github.com/#{repo_name}.git" 
end 


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
gem 'rails', '~> 5.1.2' 
# Use mysql as the database for Active Record 
gem 'mysql2', '>= 0.3.18', '< 0.5' 
# Use Puma as the app server 
gem 'puma', '~> 3.7' 
# Use SCSS for stylesheets 
gem 'sass-rails', '~> 5.0' 
# Use Uglifier as compressor for JavaScript assets 
gem 'uglifier', '>= 1.3.0' 
# See https://github.com/rails/execjs#readme for more supported runtimes 
# gem 'therubyracer', platforms: :ruby 
gem 'slim-rails' 
gem 'bootstrap', git: 'https://github.com/twbs/bootstrap-rubygem' 
gem 'jquery-rails' 
gem 'sprockets-rails' 
# Use CoffeeScript for .coffee assets and views 
# gem 'coffee-rails', '~> 4.2' 
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks 
# gem 'turbolinks', '~> 5' 
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder 
gem 'jbuilder', '~> 2.5' 
# Use Redis adapter to run Action Cable in production 
# gem 'redis', '~> 3.0' 
# Use ActiveModel has_secure_password 
# gem 'bcrypt', '~> 3.1.7' 

# Use Capistrano for deployment 
# gem 'capistrano-rails', group: :development 

group :development, :test do 
    # Call 'byebug' anywhere in the code to stop execution and get a debugger console 
    gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] 
    # Adds support for Capybara system testing and selenium driver 
    gem 'capybara', '~> 2.13' 
    gem 'selenium-webdriver' 
end 

group :development do 
    # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. 
    # gem 'web-console', '>= 3.3.0' 
    gem 'listen', '>= 3.0.5', '< 3.2' 
    # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring 
    gem 'spring' 
    gem 'spring-watcher-listen', '~> 2.0.0' 
end 

application.scss

$body-bg: $black; 
@import "bootstrap"; 

application.js

//= require jquery3 
//= require popper 
//= require bootstrap 
//= require_tree . 

答えて

1

それを実演しました。これは馬の口からまっすぐです。 _bootstrap-variables.scssファイルをhereからダウンロードし、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_tree . 
*= require_self 
*/ 

@import "bootstrap-variables"; 

$body-bg: $black; 
$body-color: $white; 

@import "bootstrap"; 
0

ドキュメントが間違っていることを告げる。あなたはそのような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_tree . 
*= require_self 
*/ 

を置くが、あなたが作曲SCSSファイルの先頭に

をブートストラップ@import、あなたは物事を動作させることができます。

static_pages.sass:

// Place all the styles related to the static_pages controller here. 
// They will automatically be included in application.css. 
// You can use Sass (SCSS) here: http://sass-lang.com/ 
$body-bg: green 

@import bootstrap 

body > div > p 
    color: $red 

そのすべてが動作します。ある変数を別の変数に渡すことは機能していないようです。

明瞭に編集: static_pagesのCSSファイルのファイル拡張子としてscssを使用している場合、コードのCSSマークアップは少し異なります。

// Place all the styles related to the static_pages controller here. 
// They will automatically be included in application.css. 
// You can use Sass (SCSS) here: http://sass-lang.com/ 
@import 'bootstrap'; 

// $red: #800000; 


p { 
    color: $red; 
    } 

その他すべてが失敗した場合は、this appをクローンすると動作します。

+0

。 – mikeglaz

+0

私はもう少し具体的な答えを編集し、static_pages.scssを編集すると動作するクローンにgit repoを追加しました。 – Jeremy

+0

基本的には、 '$ body-bg:$ black'を設定します。 @importの前にこの行を置くと、それが壊れます。私がそれを置くと背景色が変わらない。私は何とかブートストラップ3でこれをしたことを知っていますが、私は覚えていません。同様に、ここにあるブートストラップ変数をオーバーライドする方法がありました:https://github.com/twbs/bootstrap-rubygem/blob/master/templates/project/_bootstrap-variables.scss – mikeglaz

関連する問題