【发布时间】:2016-08-19 17:46:35
【问题描述】:
我的应用程序有很多控制器,Rails 为每个控制器创建一个 css 和一个 js(咖啡)文件。
据我了解,Rails 仅加载特定于控制器的 JS 文件 (http://guides.rubyonrails.org/v3.2.8/asset_pipeline.html#how-to-use-the-asset-pipeline)。
我有一个反馈控制器,在视图中我使用 javascript_include_tag 加载了外部 JS 库。在 feedback.js 我使用这个库。效果很好。
但是现在,如果我导航到另一个控制器,我会收到一个 JS 错误,提示找不到在 feedback.js 中使用的函数。
如果我不在反馈控制器中,为什么 Rails 会尝试加载我的 feedback.js?
【问题讨论】:
-
您使用的是什么版本的 Rails?您已经链接了 Rails 指南的半古老版本。尽管如此,您的版本包括以下内容:“从 3.1 版开始,Rails 默认将所有 JavaScript 文件连接到一个 master.js 文件中,并将所有 CSS 文件连接到一个主 .css 文件中。”如果您真的想要为每个控制器提供单独的 JS 资产,请参阅 related question。
标签: javascript ruby-on-rails asset-pipeline