2

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

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

除了我设置的特殊订阅模板之外,有没有办法不加载订阅资产?

4

1 回答 1

5

是的,您require_tree的 application.js 清单文件中可能有。

这意味着您的所有coffeescript 文件,包括subscriptions.js.coffee 都包含在您的application.js 中。

接下来,您的布局中可能有与此类似的一行:

<%= javascript_include_tag 'application' %>

这意味着您的应用程序清单文件(包括 subscription.js.coffee 代码)包含在您的布局中。

解决方案是不在应用程序清单文件中包含这段代码。

因此,在您的 application.js 清单文件中而不是 using 中require_tree,您可以执行以下操作:

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

在清单文件中,我假设您有其他布局,您可以包含这样的订阅。

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

请注意postscomments是示例。

于 2013-04-16T14:39:26.087 回答