2016-11-28 2 views
0

내 주된 scss 파일을 'application.scss'라고해야하는 이유는 무엇입니까? 왜 'foo.scss'라는 이름을 지정할 수없고 application.html.erb에 포함될 수 있습니까?레일 5 애셋 이름 지정

manifest.js

// JS and CSS bundles 
// 
//= link_directory ../javascripts .js 
//= link_directory ../stylesheets .css 


// Images and fonts so that views can link to them 
// 
//= link_tree ../fonts 
//= link_tree ../images 

<%= stylesheet_link_tag 'foo', media: 'all' %> 

오류가 난 자산이 선언되지 않았습니다

'foo.scss'를 사용 CSS의 수입은 생산에 미리 컴파일합니다. config/initializers/assets.rbRails.application.config.assets.precompile += %w(foo.css)을 추가하고 난 파일 이름 'application.scss'가 잘 작동을 사용하는 경우 서버

를 다시 시작합니다.

답변

2

Ruby on Rails는 자산을 사전 처리 컴파일합니다. 컴파일 할 파일의 기본 정규 당신의 보석을 포함한 app/assets 폴더에서 (이 자동으로 모든 이미지 자산을 포함) application.js, application.css 및 모든 비 JS/CSS 파일을 포함

[ Proc.new { |filename, path| path =~ /app\/assets/ && !%w(.js .css).include?(File.extname(filename)) }, /application.(css|js)$/ ] 

이있는 경우 다른 manifests 또는 개별 stylesheetsJavaScript 파일은 config/initializers/assets.rb에서 사전 컴파일 배열에 추가 할 수 있습니다 포함합니다 :

Rails.application.config.assets.precompile += %w(foo.js foo.css) 

그래서이 생산 모드에서 manifest 파일을 미리 컴파일 레일을 알려줍니다. 그리고 이것은 귀하의 오류가 assets.rb에 추가하고 서버를 다시 시작하는 것입니다.