2012-02-24 4 views
1

레일에있는 이미지에 연결하려고합니다. 작동하지 않습니다. assets/file.css는 물론 assets/file.js에도 연결할 수 있지만 assets/file.jpg는 작동하지 않습니다.레일 이미지 끊어진 링크

나는 새 레일을 새 프로젝트 이름으로 시도했는데 홈페이지를 열었을 때 레일 로고가 보이지 않았다. 측면 질문으로

,

어떻게 레일 만 application.js를로드 할 수 및

나는 내가 제거하면? URL과 몸 = 1이 그들 모두를 압축 것을 볼 application.css 않습니다 하나의 파일로 만들지 만, 다음 코드를 사용하여 페이지를 볼 때 해당 파일을 공백으로두고 하나씩 별도의 스크립트로 포함시킵니다. 그이 예상되는 동작 그래서

<%= stylesheet_link_tag "application", :media => "all" %> 
    <%= javascript_include_tag "application" %> 
+0

이미지 요청에 대한 서버 로그는 무엇입니까? – sarnold

+0

어떤 자산 버전을 사용하고 있습니까? – apneadiving

+0

rails 3.2.1, app/assets/images – Tallboy

답변

3

좋아, 당신은 레일 헬퍼를 사용해야합니다 :

<%= image_tag "file.jpg" %> 

귀하의 CSS 파일을 .erb해야한다. 그 안에 다음을 사용하십시오 :

.class { background-image: url(<%= asset_path 'image.png' %>) } 

참조는 2.2.입니다.

+0

스타일 시트에 있으면 어떻게 될까요? – Tallboy

+1

스타일 시트에있는 경우 해당 스타일 시트에 sass를 추가하고 (이미없는 경우) 'image-url'을 사용하십시오. –

+0

@ Tallboy 방금 내 대답을 편집했습니다 – apneadiving

2

난 그냥 내 코드를 확인하고 내 CSS는 다음과 같습니다

background-image:url(/assets/pinstripes.jpg); 

을 물론, 응용 프로그램/자산/이미지 업로드 한 이미지. 이것은 당신이 사용하고있는 것처럼 보이지만 확실히 말할 수는 없습니다.

+0

생산에서 md5 해시 파일 이름을 자동으로 참조하려면 대신 scss와'image-url'을 사용해야합니다. 2.2.2 절 : http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets – James

+0

나는 위의 답을 보았을 때 그 일을 할 수 있는지 몰랐다. 내 것이 바뀔거야. – ellawren