2013-04-16 1 views
2

Stripe을 사용하여 사용자가 내 Rails 3.2 응용 프로그램을 구독하도록 허용합니다. 구독 모델이 있고 JS 자산에서 Stripe 개체를 호출합니다. 하지만 Subscription 프로세스를위한 특수 레이아웃 파일에는 Stripe javascript 파일 만 포함됩니다. 그것은 내 주요 응용 프로그램 레이아웃에 포함되지 않습니다.특정 JS 자산을 파이프 라인에 조건부로로드 할 수 있습니까?

subscription.js.coffee가 Stripe을 참조하기 때문에 주 응용 프로그램 레이아웃 템플리트에 Stripe JS 파일을 포함시키지 않으면 오류가 발생합니다.

설정 한 특별 구독 템플릿을 제외하고 구독 자산을로드하지 않는 방법이 있습니까?

답변

5

예, 아마도 require_tree이 application.js 매니페스트 파일에 있습니다.

즉, subscriptions.js.coffee를 포함한 모든 coffeescript 파일이 application.js에 포함되어 있음을 의미합니다. 당신은 아마 당신의 레이아웃이 유사한 라인을 가지고 다음

는 :

<%= javascript_include_tag 'application' %> 

이합니다 (subscription.js.coffee 코드를 포함) 응용 프로그램 매니페스트 파일이 레이아웃에 포함된다는 것을 의미한다.

해결 방법은 응용 프로그램 매니페스트 파일에이 코드 조각을 포함하지 않아야합니다. 당신의 application.js 매니페스트 파일 대신 require_tree을 사용 그래서

,이 같은 것을 할 수있는 :

//= require jquery 
//= require jquery_ujs 
//= require posts 
//= require comments 

을 그리고 매니페스트 파일에 난 당신이 다른 레이아웃이 가정, 당신은 구독을 포함 할 수있다 이렇게. postscomments 예제 파일이라는

//= require_jquery 
//= require jquery_ujs 
//= require subscriptions 

참고.

+0

감사합니다. Arjan. 나는 다른 레이아웃을위한 별도의 매니페스트 파일을 가지고 있다고 생각하지 않았다. 그것은 당신이 지금 제거한 정신 블록이었습니다. – AKWF

관련 문제