【发布时间】:2015-07-19 22:56:54
【问题描述】:
我正在尝试在特定页面上运行 javascript,而我唯一的解决方案似乎是一种反模式。我在assets/javascripts/ 内部生成了controller.js。我正在使用gem 'jquery-turbolinks' 我的代码类似于以下内容:
$(document).ready(function () {
//Initiate DataTables ect..
}
)
这段代码在每个页面上都会触发所以我在其中添加了以下内容。
if ($('#page-specific_element').length > 0) {
//Initiate Datatables ect.
}
我的问题是,有没有办法设置 rails 以仅使用特定控制器所需的 javascript 文件,或者元素搜索背后的逻辑门控是最佳解决方案?
【问题讨论】:
-
我尝试将 添加到 application.html.erb 并删除 //= require_tree 。从 application.js 作为解决方案的一部分,但我遇到需要将每个“controller.js”添加到预编译资产文件中,这似乎走错了路。
标签: javascript jquery ruby-on-rails ruby-on-rails-4