Ruby on rails 3.2 是否可以有条件地加载管道中的某些JS资产?

Ruby on rails 3.2 是否可以有条件地加载管道中的某些JS资产?,ruby-on-rails-3.2,asset-pipeline,Ruby On Rails 3.2,Asset Pipeline,我使用Stripe让用户订阅我的Rails 3.2应用程序。我有一个订阅模型,在JS资产中我调用Stripe对象。但我只在订阅过程的特殊布局文件中包含stripejavascript文件。它不包括在我的主应用程序布局中 因此,如果我没有在主应用程序布局模板中包含Stripe JS文件,当然会出现错误,因为subscription.JS.coffee引用了Stripe 除了从我设置的特殊订阅模板加载订阅资产外,是否有其他方法不加载订阅资产?是的,您的application.js清单文件中可能有re

我使用Stripe让用户订阅我的Rails 3.2应用程序。我有一个订阅模型,在JS资产中我调用
Stripe
对象。但我只在订阅过程的特殊布局文件中包含stripejavascript文件。它不包括在我的主应用程序布局中

因此,如果我没有在主应用程序布局模板中包含Stripe JS文件,当然会出现错误,因为subscription.JS.coffee引用了Stripe


除了从我设置的特殊订阅模板加载订阅资产外,是否有其他方法不加载订阅资产?

是的,您的application.js清单文件中可能有
require\u tree

这意味着所有的咖啡脚本文件(包括subscriptions.js.coffee)都包含在application.js中

接下来,您的布局中可能会有一条类似于此的线:

<%= javascript_include_tag 'application' %>
在清单文件中,我假设您有其他布局,您可以包括这样的订阅

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

请注意,
帖子
评论
都是例子。

谢谢Arjan。我从未想过要为另一个布局使用单独的清单文件。这是你现在已经消除的心理障碍。
//= require_jquery
//= require jquery_ujs
//= require subscriptions