복붙노트

[RUBY-ON-RAILS] 3.1 및 이미지 자산 레일

RUBY-ON-RAILS

3.1 및 이미지 자산 레일

나는 관리자라는 폴더 내 자산 내 관리자 테마 내 모든 이미지를 넣어했다. 그 때 나는 정상적인 예처럼 링크.

# Ruby    
image_tag "admin/file.jpg" .....
#CSS
.logo{ background:url('/assets/images/admin/logo.png');

참고하시기 바랍니다. 내 자산을 컴파일하지 않은 것처럼 그냥 테스트하기 위해 난 그냥 아직 asset_path 태그를 사용하고 있지 않다.

좋아, 모든 좋은 지금까지 나는 이미지를 업데이트하기로 결정 때까지. 나는 몇 가지 색상을 교체하지만, 다시로드에 새로운 스타일 이미지가 표시되지 않습니다. 내가 브라우저에서 직접 이미지를 볼 경우는 여전히 이전 이미지를 보여주는. 한 단계를가는 더 나는 관리자 이미지 폴더를 파괴했다. 하지만 모든 이미지가 계속 표시되고 깨진 아무 상관이 없습니다. 그리고 네 내 캐시를 삭제하고 여러 브라우저에 노력했다.

계속 이미지 캐싱 어떤 종류가 있습니까? 이 페이지를 제공하기 위해 펑를 사용하여 단지 지역의 개발이다.

심지어 이미지 폴더 전체 이미지가 여전히 제공되고 파괴.

나는 뭔가를 놓치고 있습니까?

해결법

  1. ==============================

    1.3.1 당신은 경로의 '이미지'부분을 제거. /assets/example.png - /assets/images/example.png에서의 생활은 실제로이 URL에 GET 요청에 액세스 할 수 있다는 이미지 그래서

    3.1 당신은 경로의 '이미지'부분을 제거. /assets/example.png - /assets/images/example.png에서의 생활은 실제로이 URL에 GET 요청에 액세스 할 수 있다는 이미지 그래서

    새로운 3.1 응용 프로그램과 함께 생성됩니다 폴더 자산 / 이미지 때문에이 그들은 아마 당신이 따를 필요가있는 대회이다. 나는 IMAGE_TAG 그것을 찾을 것이다 곳이 생각,하지만 난 아직 테스트하지 않았습니다.

    또한, RailsConf 기조 연설, 난 공용 폴더가 더 이상 거기에 많은 대부분 단지 오류 페이지 및 파비콘을하지 말았어야 말 D2H를 기억한다.

  2. ==============================

    2.당신은 .css.scss.erb하고 할 .css.scss에서 CSS 파일의 확장자를 변경 할 수 있습니다 :

    당신은 .css.scss.erb하고 할 .css.scss에서 CSS 파일의 확장자를 변경 할 수 있습니다 :

    background-image:url(<%=asset_path "admin/logo.png"%>);
    

    당신은 변화를 볼 수있는 "새로 고침"을 수행해야 할 수 있습니다. OSX 브라우저에 CMD + 시프트 + 연구.

    생산에서 확인

    rm -rf public/assets    
    bundle exec rake assets:precompile RAILS_ENV=production
    

    배포에 발생합니다.

  3. ==============================

    3.내가 한 때 무엇의 가치,이 내가 어떤 폴더에 CSS 파일의 경로에 포함되지 않는다는 것을 발견했다. 예를 들어 나는 응용 프로그램 / 자산 / 이미지 / example.png있는 경우에, 나는 내 CSS 파일에 넣고 ...

    내가 한 때 무엇의 가치,이 내가 어떤 폴더에 CSS 파일의 경로에 포함되지 않는다는 것을 발견했다. 예를 들어 나는 응용 프로그램 / 자산 / 이미지 / example.png있는 경우에, 나는 내 CSS 파일에 넣고 ...

    div.example { background: url('example.png'); }
    

    ... 다음 어떻게 든 마술 작동합니다. 나는 레이크 자산을 실행하여이 알아 낸 : 그냥 모든 부하 경로에서 모든 것을 빨아 정크 서랍 폴더에 덤프 사전 컴파일 작업 : 공공 / 자산. 즉 IMO, 아이러니 ...

    어떤 경우에는이 방법은 당신이 어떤 폴더 경로를 넣어 필요가 없습니다, 당신의 자산 폴더에서 모든 것이 하나의 거대한 디렉토리에 살고 종료됩니다. 이 시스템 결의 파일 이름 충돌이 불분명 방법, 당신은주의 할 필요가있다.

    종류 좌절의 변화의 큰위한 거기하지 않는 것이 좋습니다 문서가있다.

  4. ==============================

    4.4 레일에서 당신은 이제 CSS와 말대꾸 헬퍼 이미지 URL을 사용할 수 있습니다 :

    4 레일에서 당신은 이제 CSS와 말대꾸 헬퍼 이미지 URL을 사용할 수 있습니다 :

    div.logo {background-image: image-url("logo.png");}
    

    당신의 배경 이미지가 표시되지 않는 경우, 당신은 당신의 스타일 시트에서 그들을 참조하는 방법을 찾는 것이 좋습니다.

  5. ==============================

    5.CSS에서 또는 IMG 태그에 이미지를 참조 할 때, 이미지 name.jpg를 사용

    CSS에서 또는 IMG 태그에 이미지를 참조 할 때, 이미지 name.jpg를 사용

    이미지가 정말 ./assets/images/image-name.jpg 아래에있는 동안

  6. ==============================

    6.http://railscasts.com/episodes/279-understanding-the-asset-pipeline

    http://railscasts.com/episodes/279-understanding-the-asset-pipeline

    이 railscast (자산 파이프 라인에 레일 튜토리얼 비디오) 자산 파이프 라인으로 잘 경로를 설명하기 위해 많은 도움이됩니다. 나는 그것이 매우 유용하다고, 그리고 실제로 몇 번 보았다.

    내가 선택한 해결책은 @Lee McAlilly의 위이지만,이 railscast는 작동 왜 나를 이해하는 데 도움을 주었다. 희망이 도움이!

  7. ==============================

    7.레일 자산 파이프 라인이 정확한 것은하는 방법을 제공합니다.

    레일 자산 파이프 라인이 정확한 것은하는 방법을 제공합니다.

    당신은 단순히 당신의 CSS를하거나하는 SCS 파일의 image_path ( '이미지 파일 이름')를 추가하고 레일은 모든 것을 처리합니다. 예를 들면 :

    .logo {배경 : 홈페이지 (IMAGE_PATH ( '관리자 / logo.png'));

    (그냥 .erb보기처럼 작동, 당신은 경로에 "/ 자산"또는 "/ 자산 / 이미지"를 사용하지 않는 참고)

    다른 헬퍼 방법을 제공하고, 다른 대답은 여기에있다 레일 : 레일 3.1을 사용하는 경우 어떻게 말대꾸에서 참조 이미지를 사용합니까?

  8. from https://stackoverflow.com/questions/6213218/rails-3-1-and-image-assets by cc-by-sa and MIT license