Rails 3.1新手:我应该在哪里放置JavaScript代码?
我正在开发Rails 3.1应用程序,我对我应该在哪里放置自己的JavaScript代码(例如my.js)以及放置第三方JavaScript库(例如jQuery-UI)的位置感到困惑。
我知道在旧版本的Rails中,javascript应该全部进入public / javascripts /目录,当我生成Rails 3.1应用程序时,没有public / javascripts /文件夹,但有app / assets /和verndor / assets / , app / assets中的 application.js ,我想问一下:
- - - - - - - - 我对吗? - - - - -
application.js中的 require_tree
用于在app / vendor / assets / javascript /下包含第三方库,
并且require "something"
application.js中的 require "something"
用于在app / assets / javascripts / ??下包含js文件。 我对吗?
把你自己的javascript&coffeescript放在app/assets/javascripts
。
看看app/assets/javascripts/application.js
。 当您运行rails new APP
它应该添加//= require_tree .
到这个文件。 更多信息请参见第2.3节。
这是一个特殊的指令,Sprockets知道wil会自动将所有文件包含在与application.js
文件相同的目录中,并在其下的子文件夹中。
如果你想要加载jquery和jquery-ui,你的application.js文件应该看起来像
//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require_tree .
如果您的包中包含gem 'jquery-rails'
,则此gem已将jquery文件添加到资产管道中,因此您不必担心手动下载它们 。
在您的应用程序视图的头部部分中,您需要在头部包含javascript_include_tag "application"
。 如果你使用了发生器,机会已经在那里了。
请阅读Rails Asset Pipeline了解更多信息。
这个.
与require_tree
是引用当前文件的位置。 //=
运算符正在引用资产管道。
将文件放置在应用程序/资产,库/资产或供应商/资产中会将其添加到资产管道。 参见2.1节。
Ryan Bates对Railscasts上的资产管道进行了很好的概述。 当我试图把它整理出来时,它帮了我很大的忙。 http://railscasts.com/episodes/279-understanding-the-asset-pipeline
链接地址: http://www.djcxy.com/p/49999.html