首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Ruby on Rails 4:如何在Rails web应用程序中包含Javascript文件?

Ruby on Rails 4:如何在Rails web应用程序中包含Javascript文件?
EN

Stack Overflow用户
提问于 2014-03-10 18:29:54
回答 4查看 67.7K关注 0票数 28

我正在构建一个Rails4Web应用程序,我想在我的应用程序中包含一些.js文件。可以直接将JavaScript文件添加到我的Rails ..app/assets/javascripts文件夹中,然后在application.js中添加引用吗?

代码语言:javascript
复制
//= customejsfile.js 

这条路对吗?如果是,是否可以按照添加jQuery和Bootstrap库的相同步骤操作?

任何帮助都是非常感谢的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-03-10 18:38:34

包含文件的正确方法是:

代码语言:javascript
复制
//= require customejsfile

在您的application.js文件中。更重要的是,默认情况下你有

代码语言:javascript
复制
//= require_tree .

它需要assets/javascript路径中的所有js文件,所以您不必自己键入(您也不应该这样做,否则您的文件将包含两次)。默认情况下包含JQuery库(它来自jQuery gem)。如果你想要Bootstrap,那么你可以这样做,或者使用现有的gem之一,如bootstrap-generatorstwitter-bootstrap-rails

票数 38
EN

Stack Overflow用户

发布于 2014-08-29 04:16:08

查看application.html.erb文件,您将看到该application.js是通过以下方式引用的:

代码语言:javascript
复制
<%= javascript_include_tag "application", "data-turbolinks-track" => true  %>

因此,当我遇到这个挑战时,我所做的是:将这个脚本添加到我想引用自定义javascript的文件中,但这次我修改了参数。因此,我没有使用“应用程序”,而是这样:

代码语言:javascript
复制
<%= javascript_include_tag "customjsFile", "data-turbolinks-track" => true  %>

希望这能有所帮助。

票数 11
EN

Stack Overflow用户

发布于 2014-03-10 18:35:37

您必须显式地在application.js中添加jquery和bootstrap,而您将自动包含需要目录树的自定义文件。如果你看一下你的application.js,应该会有这样的声明。这就是使用bootstrap和jquery时application.js应该是什么样子

代码语言:javascript
复制
// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// compiled file.
//
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
// about supported directives.
//
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require bootstrap/affix
//= require bootstrap/alert
//= require bootstrap/button
//= require bootstrap/carousel
//= require bootstrap/collapse
//= require bootstrap/dropdown
//= require bootstrap/tab
//= require bootstrap/transition
//= require bootstrap/scrollspy
//= require bootstrap/modal
//= require bootstrap/tooltip
//= require bootstrap/popover
//= require turbolinks
//= require_tree .

不需要在此列表中添加自定义文件,因为您需要与最后一条指令(require tree .)处于application.js相同级别(或目录树中更低级别)的所有文件

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22297700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档