0

원래 레일스 3.0에서 완료된 프로젝트를 레일즈 3.1로 업그레이드하려고하는데 자산 파이프 라인을 활성화하려고합니다. 레일즈 3.0 프로젝트이기 때문에 cssjs 및 이미지 파일을 저장하기 위해 public/ 폴더를 사용했습니다. I의 의견 중 일부는 그들의 stylesheet_link_tag : 자산 파이프 라인이있는 모든 것

<%= stylesheet_link_tag :all %> 

을 발견했습니다, 그 자산 파이프 라인없이,이 public/stylesheets의 모든 css 파일의 포함을 초래한다.

애셋 pipline을 사용하여 이에 해당하는 항목이 있습니까? app/assets/stylesheets에 모든 내용을 포함 하시겠습니까? 또는 asset/stylesheets 디렉토리 만 있으면됩니까? 아니면 더 많은 rails3.1 방법이 나는이 일을 전적으로 열려 있습니다. 이 프로젝트를 업그레이드하는 올바른 방법을 찾으려고합니다.

답변

1

자산 파이프 라인은 기본적으로 사용자의 스타일을 app/assets/stylesheets에 포함합니다. 가이드에서 : http://guides.rubyonrails.org/asset_pipeline.html

버전 3.1을 시작으로, .css 파일 하나 마스터로 하나 개의 마스터의 .js 파일에 모든 자바 스크립트 파일과 모든 CSS 파일을 연결 기본값 레일. 이 가이드의 뒷부분에서 배우 겠지만 이 전략을 사용자 정의하여 원하는 방식으로 파일을 그룹화 할 수 있습니다. 프로덕션에서 Rails는 각 파일 이름에 MD5 지문을 삽입하므로 파일이 웹 브라우저에 의해 캐쉬되었다는 메시지가 입니다. 당신은해야 당신의 /app/assets/stylesheets 디렉토리에서

, 당신이 파일 (일반 CSS를 확장주의) application.css라고해야 .. 당신이 파일의 내용을 변경할 때마다 자동으로 을 일이 지문을 변경하여 캐시를 무효화 할 수 있습니다 다음이 포함 :

/* 
* 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, vendor/assets/stylesheets, 
* or vendor/assets/stylesheets of plugins, if any, 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 top of the 
* compiled file, but it's generally better to create a new file per style scope. 
* 
*= require_self 
*= require_tree . 
*/ 

또한이 모든처럼 주석 처리해야한다는주의, 그 방법 레일을 읽습니다.

+0

그래서 뷰에' "application"'을 포함해야합니까? –

+1

당신의'/ app/views/layout/application.html.erb' 파일은 헤더에 다음을 포함해야합니다 : <% = stylesheet_link_tag "application", : media => "all"%> –