2014-04-07 2 views
0

먼저이 질문은 제가 처음으로 레일을 처음 접했을 때 생겨났습니다.Ruby 에셋이 제대로 설치되지 않았습니다.

저는 프로젝트를 시작하면서 시작한 이래로 gemfile에 몇 가지 보석을 추가했습니다. 해결할 사소한 것으로 보였지만 해결할 수는 없습니다. 내 Gemfile에 젬을 추가하고 bundle을 실행하면 해당 젬과 관련된 애셋이 내 애셋 디렉토리에 드롭되지 않습니다.

예를 들어, 프로젝트에 Leaflet Marker Cluster을 추가했는데이 파일에는 assets 폴더에 필요한 파일이 3 개 있지만 bundle을 실행 한 후에는 찾을 수 없습니다.

내가 뭘 잘못하고 있니?

+0

단지 URL을 확인, 자산의 추가 여부와 관계없이 브라우저에서 확인하시기 바랍니다 : HTTP : // localhost를 : 3000/자산/leaflet.markercluster-src.js을. –

답변

0

물리적으로 자산 폴더에 없습니다. 이 같은 매니페스트 application.css/JS에서 그들을 필요로해야합니다 ..

//=require leaflet.markercluster.js 
+0

그래서 leaflet.markercluster가 리플릿의 플러그인 일 뿐이며 이미 내 매니페스트에 "= 필수 리플렛"이 있다면 그 줄을 추가해야합니까? 또는 markercluster가 플러그인이기 때문에 그냥 작동해야합니까? – Scalahansolo

+0

@SeanCallahan - application.js 매니페스트 파일은 https://gist.github.com/stuartchaney/d61d49e2994c62da2dc2와 같아야하며 application.css 파일은 다음과 같이 표시되어야합니다. https://gist.github.com/stuartchaney/ 692c0af68fa5fdbcab77 – stuartchaney

0

당신이 자산을 컴파일하려면 자산 폴더 안에 두 가지 옵션이 있습니다

1 추가

//= require some_file_from_your_plugin 

2 - 당신의 사전 컴파일 자산 배열 구성에 자산을 추가하십시오 : 당신이 당신의 매니페스트에서 원하는 자산

설정/환경/production.rb은을 config.assets.precompile로 이동 차 당신이 좋아, 거기에 컴파일 할 자산을 추가

config.assets.precompile += %w(my_asset1.css another_asset.js) 

당신은 당신이 당신의 위치에 각 자산을 구현하는 방법에 따라 각각 하나씩 필요합니다 을 - 당신은 부하가 application.js 경우처럼 자산을 추가 할 필요를 옵션 1 에 - 당신은 같은 것을 사용하는 경우 "= javascript_include_tag 'another_asset.js'는"당신이 필요로하는 옵션 난 정말 당신이 당신의 시간이 걸릴 레일에게 자산 http://guides.rubyonrails.org/asset_pipeline.html에 대한 가이드를 읽어 권 해드립니다 2

그것은, 거의 아무 것도 정말 도움이 다루고 있어요 자산, 캐시, 압축, 축소에 대해 알아야합니다.

관련 문제