【问题标题】:Rails - How to refactor application.js?Rails - 如何重构 application.js?
【发布时间】:2013-03-05 18:43:49
【问题描述】:

我的 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 .

查看:

<a class="btn inline" href="#" id="authorinfo" rel="popover" data-content="Section...."><i class="icon-question-sign"></i></a>

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

关于如何重构的任何想法?

【问题讨论】:

  • 您可以将 appplication.js 之外的代码提取到单独的文件中。如果您使用//=require_tree .,它将自动包含在页面js中
  • 我把函数放在 app/assets/javascripts/objectinfo.js 中,它们不再起作用了。
  • @Bob,这对我来说似乎是一个足够的答案(而不仅仅是评论)。
  • @JimStewart - 将其作为单独的答案发布)。
  • 还有一件事你不需要多次使用$(document).ready(function(){,你可以将所有这些内部逻辑添加到单个定义中。这实际上意味着内部代码只有在文档准备好后才会运行,因此无需多次定义。

标签: javascript ruby-on-rails twitter-bootstrap


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    • 2020-08-12
    相关资源
    最近更新 更多