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

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

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

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

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

CSS

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

Q&A

解決済

3回答

4452閲覧

SyntaxError variables.scss 変数代入するとエラーがでます。

ayako_sato

総合スコア8

Ruby on Rails 5

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

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

CSS

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

1グッド

1クリップ

投稿2020/03/13 07:25

編集2020/03/16 09:32

前提・実現したいこと

variables.scssでデザインのベースになるものを変数で置き換えたい。

試したこと

全角、半角、スペルミスの確認。
variables.scssのインポート

発生している問題・エラーメッセージ

イメージ説明

該当のソースコード

guest.scss

.request { width: 90%; margin: 0 auto; padding: 16px; background-color: #FFF; border-radius: 5px; &-title { color: $txt-head; font-weight: bolder; margin-bottom: 16px; &-p { font-size: small; margin-top: 0; } } &-detail { color: #000; } }

variables.scss

// テキスト $txt-head: #669999 !default; // ボタン $main-button: #669999;

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 "variables"; @import "guest"; @import "user";

↑上記scssにはvariables以外の他のスタイルも追加されています。

補足

スペルミスもなく半角全角などの相違もなく、該当の「color: $txt-head;」の「$」を削除するとエラーは回避できるのですが、読みこんでいるはずのvariables.scssに指定している色になりません…。
お気づきの点がありましたらどなたかご助言いただけますと幸いです。

s.k👍を押しています

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

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

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

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

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

no1knows

2020/03/13 07:34

ご提示いただいたコードのファイル名を拡張子も含めて記載ください。
ayako_sato

2020/03/13 07:36

すみません、ファイル名記載いたしました。
guest

回答3

0

ここへんは参考にならないでしょうか?

Sassは標準設定ではファイル名冒頭に「」の付くファイルはコンパイルを行いません。
また、そうしたファイルも下記のようにインポートできます。
@import "variables"; // 「
」抜きの名前でインポートできる

https://hacknote.jp/archives/5071/

投稿2020/03/13 07:48

no1knows

総合スコア3365

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

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

ayako_sato

2020/03/13 08:32 編集

アドバイス・回答ありがとうございました。 これは、variables.scssの頭に「_」をつけてみる、ということだったんでしょうか…。試してみたのですが何も変わりませんでした。何度も読んでみたのですが理解が及ばずすみません…。 おそらくはvariables.scssが読み込めていないから、指定した変数($txt-head)対して「こんなものはない」というエラーなのではないかというのは察しており…。 あとはどう読み込むのかというところで…何とか頑張って他の方法を探してみます…。ありがとうございました。
ayako_sato

2020/03/13 09:16 編集

自己解決いたしました…! とてもとてもくだらないことで本当にお恥ずかしいのですが、variables.scssをインポートする場所を「application.scss」にしてしまっていたためうまく読めていませんでした。 guest.scssの行頭に記載したら読み込むことができました! 読み込まなければならなかったのは「guest.scss」でありました、大変お騒がせいたしました、お時間ありがとうございました。
guest

0

とてもとてもくだらないことで本当にお恥ずかしいのですが、variables.scssをインポートする場所を「application.scss」にしてしまっていたためうまく読めていませんでした。
guest.scssの行頭に記載したら読み込むことができました!
読み込まなければならなかったのは「guest.scss」でありました、大変お騒がせいたしました、お時間ありがとうございました。

投稿2020/05/31 07:07

ayako_sato

総合スコア8

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

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

0

自己解決

エラー原因

読み込ませるファイルを間違えていました。
application.scssにインポートしてしまい、variables.scssがうまく読み込めていないためのエラーでした。

解決方法

variables.scssはパーシャルファイル化(_variable.scss)し、独立した該当のsccsファイル(今回の場合はguest.scss)の行頭に@importで読み込ませたらうまく行きました。
初学者は共通ファイルをどこに置くか、どこで読み込ませるか迷うかもしれないのですが、

①variables.scssは「_」をつけてstylesheetフォルダへ保管
②@importは、変数を使っているscssファイルの行頭に記入
※今回の件でいうと、全てのscssファイルをインポートして管理しているapplication.scssではなく、サービス別に作っていた単独のguest.scssに記入する。

読み込みの流れとしては、application.scssにguest.scssをインポートして、guest.scssでパーシャル化したvariables.scssをインポートする、ということです。

参考サイト系がどうしても理解できず、いろいろやってみた結果の解決になるのでわかりやすいと思ったURLを貼れないのは申し訳ないです。

投稿2020/03/16 09:30

ayako_sato

総合スコア8

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

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

ayako_sato

2020/05/31 07:07

とてもとてもくだらないことで本当にお恥ずかしいのですが、variables.scssをインポートする場所を「application.scss」にしてしまっていたためうまく読めていませんでした。 guest.scssの行頭に記載したら読み込むことができました! 読み込まなければならなかったのは「guest.scss」でありました、大変お騒がせいたしました、お時間ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問