Javascript Rails-如何重构application.js?

Javascript Rails-如何重构application.js?,javascript,ruby-on-rails,twitter-bootstrap,Javascript,Ruby On Rails,Twitter Bootstrap,我的application.js文件越来越乱 application.js: // //= require jquery //= require jquery_ujs //= require bootstrap $(document).ready(function(){ $('#authorinfo').popover(); }); $(document).ready(function(){ $('#publisherinfo').popover(); }); ...[and many more

我的application.js文件越来越乱

application.js:

//
//= require jquery
//= require jquery_ujs
//= require bootstrap
$(document).ready(function(){
$('#authorinfo').popover();
});
$(document).ready(function(){
$('#publisherinfo').popover();
});
...[and many more similar functions] 
//= require_tree .
视图:


bootstrap popover javascript似乎不适用于类,只适用于id元素,我也很难将javascript移出application.js


有关于如何重构的想法吗?

您可以在appapplication.js之外的单独文件中提取代码。如果您使用
/=require_tree.
它将自动包含在页面js中

您可以在单独的文件中提取appapplication.js之外的代码。如果您使用
/=require_tree.
它将自动包含在页面js中

您可以在单独的文件中提取appapplication.js之外的代码。如果您使用
/=require_tree.
它将自动包含在页面jsI中,将函数放入app/assets/javascripts/objectinfo.js中,它们将不再工作。@Bob,这对我来说似乎是一个足够的答案(而不仅仅是一个注释)。@JimStewart-将其作为单独的答案发布。还有一件事您不需要使用
$(文档).ready(函数(){
多次,您可以将所有这些内部逻辑添加到单个定义中。实际上,这意味着内部代码只会在文档准备好后运行,因此无需多次定义。您可以在单独的文件中提取appapplication.js外部的代码。如果您使用
/=require\u tree。
它将自动包含在页面jsI p中ut app/assets/javascripts/objectinfo.js中的函数,它们不再工作。@Bob,这对我来说似乎是一个足够的答案(而不仅仅是一个注释)。@JimStewart-将其作为单独的答案发布。还有一件事你不需要使用
$(document).ready(function(){
多次,您可以将所有这些内部逻辑添加到单个定义中。这实际上意味着内部代码只会在文档准备好后运行,因此无需多次定义。
<a class="btn inline" href="#" id="authorinfo" rel="popover" data-content="Section...."><i class="icon-question-sign"></i></a>