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 ,我想问一下:

  • 在Rails 3.1中,我应该在哪里放置my.jsjQuery-UI js在Rails 3.1?
  • app / assets / application.js应该做什么?
  • 我如何在我的html页面中包含my.jsjQuery-UI 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

    上一篇: Rails 3.1 newbie : where should I put javascript code?

    下一篇: How to read / parse input in C? The FAQ