2011-09-24 10 views
2

내 스타일이 있습니다
.asc { font-size: 2em; background-image: url(/images/up_arrow.gif); }
.desc { background-image: url(/images/down_arrow.gif); }rails3.1 ActionController :: RoutingError (없음 경로 일치 [GET] "/images/up_arrow.gif") :

글꼴 크기 작동하지만 배경 이미지 (화살표) 않습니다. 내가 얻는다 ActionController::RoutingError (No route matches [GET] "/images/up_arrow.gif"):

나는 많은 물건을 길에서 시험해 보았다. 그러나 아무것도 움직이지 않았다. enter image description here

답변

6

마지막으로 자산의 사전 처리 컴파일을 수행해야한다는 것을 알게되었습니다. '나는 설명서를 읽어 했어야'

컴파일 된 자산 (대상이 config.assets.prefix)에 정의되어 있습니다.

는 자산의 버전을 컴파일 작성하려면 기본적으로 공공/자산 디렉토리에 배치됩니다 bundle exec rake assets:precompile

사용하면 경우 생산 파일 시스템에 대한 쓰기 권한이없는 로컬이 작업을 사용하고 컴파일 된 자산 파일을 복사

자산 컴파일 과정 :.

연결 &은 모든 JavaScript 파일을 하나의 마스터로 압축합니다. Uglifier이 프로세스의 기본값입니다.
모든 CSS 파일을 하나의 마스터 .css 파일로 압축 (축소)합니다. CSS는 기본적으로 yui으로 압축됩니다.
coffeescript와 같은 고급 언어에서 저작물을 사용할 수 있습니다.

참고 : (안 좋은 생각하지만)
config.assets.enabled = false

으로 새로운 응용 프로그램을 만들 때 당신은 자산 파이프 라인을 건너 뛸 수를 설정/application.rb을 변경하여 자산 파이프 라인을 사용하지 않도록 설정하고 설정하는 것이 가능하다 —skip-sprockets option, 예 : rails new appname --skip-sprockets

config.assets.compile = true도 설정할 수 있습니다. 이러한 방법으로 애셋은 애셋을 요청할 때만 컴파일됩니다.

2

아마도 질문할만한 질문 일 수도 있지만 /images/up_arrow.gif이 존재합니까?

공용 자산의 404를 레일스 라우터로 전달하면됩니다. 라우팅 문제가 아닙니다. 정적 자산에 대해 정의 된 경로가 없기 때문에 라우팅 오류가 발생합니다.

+0

좋은 물건 :

솔루션이에 CSS를 수정했다. 위의 이미지를 참조하십시오. js는 괜찮아 보인다. –

6

이 시도 :

.asc { font-size: 2em; background-image: url(/assets/up_arrow.gif); } 
.desc { background-image: url(/assets/down_arrow.gif); } 

내가 일하고 있어요 3.1 응용 프로그램에서 그것을 할 방법은 그. /images은 아마도 app/public/images에 매핑됩니다.

0

레일 3.2.13에서 이와 동일한 문제가있었습니다.

.asc { font-size: 2em; background-image: url(up_arrow.gif); } 
.desc { background-image: url(down_arrow.gif); } 
관련 문제