2017-10-27 4 views
0

Railsアプリケーションのapp/assets内に 'fonts'フォルダを作成しました。このフォルダには、TTFファイルとWOFFファイルと、ビューで使用したいカスタムフォントタイプを宣言して参照するSCSSファイル( "stylesheet.scss")が含まれています。適切に参照していてもRailsアセットパイプラインでファイルが見つかりません

私は以下のように変更やったこの新しいフォルダにアクセスできるようにするために:私は

以下のようにApplicationクラス内に新しいパスを追加しました

のconfig/application.rb

class Application < Rails::Application 
    config.load_defaults 5.1 
    config.assets.paths << Rails.root.join("app", "assets", "fonts") 
end 

アプリ/資産/スタイルシート/ application.scss

私は以下のように「stylesheet.scss」を参照してきました:タイプと 「ファイルを見つけることができませんでした 『フォント/ stylesheet.scss』 ':私は私のアプリをロードすると

/* 
    *= require fonts/stylesheet.scss 
*/ 

しかし、私は次のエラーを取得しますtext/css " これは、 'app/assets/fonts'のパスが実際にチェックされていることを確認したにもかかわらず、これが発生します。

私は '要求'行の 'scss'拡張子を削除して、代わりに@import "fonts/stylesheet";でファイルをインポートしようとしました。

私が間違っていることについて何らかのアイデアをいただければ幸いです。

+0

'fonts/stylesheet.scss'の名前を' fonts/stylesheet.css.scss'に変更しようとしますか? – cnnr

+0

ありがとう@cnnrは動作しませんでした。しかし、私はちょうど '@import"スタイルシートを使って作業したフォルダ名を含むような方法でパスを参照する必要はないことを発見した; – Andrew

答えて

0

私は、以下のようにファイル名だけを参照して作業したフォルダ名を含むような方法でパスを参照する必要はないことがわかりました。

@import "stylesheet"; 

2つのファイルが同じ名前を共有していても、アプリ内の別のフォルダにある場合はどうなるのでしょうか。

+2

同じ名前の2つのファイルを持つべきではない –

+0

ファイルが1つだけロードされます。これは、 'main.js'と' main.coffee'を持っているときに起こります。なぜなら、足場のジェネレータ 'rails g scaffold main'は' main'の 'coffeescript'と' scss'ファイルを生成するからです。 'main.js 'を持っていますが、' main'が必要なときは 'main.coffee'だけが含まれます –

関連する問題