[ruby-on-rails] Rails 3.1에서 새 자산 경로 추가

Rails 3.1의 자산 파이프 라인에 다른 폴더를 추가하는 방법을 아는 사람이 있습니까?

app/assets/fonts똑같은 방법 으로 봉사하고 싶습니다 app/assets/images.


업데이트 : 2013 년 5 월 7 일

application.rb 파일에 자산 경로를 명시 적으로 추가하기 위해이 질문을 찾는 미래의 사람들을 위해 약간의 설명을 추가하기 위해 :

config.assets.paths << "#{Rails.root}/app/assets/fonts"

그러나 위의 경로가 아래에 있으므로 app/assets명시 적으로 추가 할 필요가 없기 때문에 레일스 앱을 다시 시작하기 만하면 Sprockets가 선택할 수 있습니다.

명시 적으로 외부의있는 경로를 추가해야합니다 app/assets, lib/assets또는 vendor/assets톱니가 응용 프로그램이 내 경험이없이 자산 경로에 새 폴더를 선택하지 않는,로드 될 때 존재 폴더에 새 파일을 집어 들고있는 동안, 그냥 그 기억을 재시작.



답변

Andrew app/assets/fonts는 실제로 이미 images. 따라서 동일한 방식으로 자산을 가리킬 수 있습니다. <%= asset_path('/Ubuntu/Ubuntu-R-webfont.eot') %>[1] 또는 이미지를 참조하는 방식.

이것도 머리를 감싸는데 시간이 걸렸습니다. 나는 여전히 같은에서 이름의 파일이 있다면 어떻게되는지 모르는 app/assets/fontsapp/assets/images.

[1] 글꼴이 있다고 가정합니다. app/assets/fonts/Ubuntu/Ubuntu-R-webfont.eot


답변

Andrew, Jason도 동의했습니다. FWIW 나는 이것을 config / application.rb 옆에 넣었습니다.

  # Enable the asset pipeline
config.assets.enabled = true
config.assets.paths << "#{Rails.root}/app/assets/fonts"


답변

에 의해 생성 app/assets/imagesapp/assets/fonts그들은 자동으로 자산 경로에 추가됩니다.

Rails 콘솔을 만든 후 열고 다음을 확인하십시오.

y Rails.application.config.assets.paths

( yyaml방법 의 단축키입니다 )


답변

경로를 추가하지 않고 작동하지만 자산에 유효한 파일 이름을 사용하고 있는지주의하십시오.

url("#{asset_path 'fontawesome-webfont.eot'}?#iefix") format('embedded-opentype'),
...
url("#{asset_path 'fontawesome-webfont.svg'}#FontAwesome") format('svg');

예를 들어,이 경우 ?#iefix글꼴 파일 이름 외부 에 두십시오.


답변

Rails 3.1.0.rc4 (그리고 아마도 더 높은)의 설정에 새로운 경로를 추가하지 않고도 작동하는지 확인할 수 있습니다. 나는 내 서버를 바운스했다. 당신도 똑같이 할 수있다.


답변

만들기 assets/fonts폴더와 다음과 같은 CSS 파일에 사용 테마에 대한 몇 가지 글꼴을 추가

@font-face {
  font-family: Sawasdee;
  src: url(Sawasdee.ttf);
}


답변