Rails: Include External JavaScript

前端 未结 3 924
一生所求
一生所求 2021-02-01 08:42

I want to use a JavaScript library such as a jQuery plugin. Do I use the Rails asset pipeline? Or should I include it with a javascript_include_tag? What are my options and what

相关标签:
3条回答
  • 2021-02-01 09:17

    In Haml

    = javascript_include_tag "example"
    

    To load the file assets/javascripts/example.js

    0 讨论(0)
  • 2021-02-01 09:21

    To access Javascript on a single file, javascript_include_tag is the best option.

    With that what you can do is too add 'Rails.application.config.assets.precompile += %w( yourfilename.js )' to your 'config/initializers/assets.rb' file.

    0 讨论(0)
  • 2021-02-01 09:24

    Will you use the JavaScript library on only a few pages or throughout the application? If you will use it throughout the application, use the asset pipeline by adding it to the vendor/assets/javascripts folder. If you plan to use the library on a single page, use the javascript_include_tag.

    Here are rules of thumb to guide your use of JavaScript in Rails:

    • Logically organize your site-wide scripts in the app/assets/javascripts/ folder.

    • Copy external JavaScript libraries (such as jQuery plugins) to the vendor/assets/javascripts folder.

    • List site-wide scripts in the app/assets/javascripts/application.js manifest.

    • Let the Rails asset pipeline combine them all in one minimized application.js file.

    • For scripts that are used on a few pages that have few visits, load as page-specific JavaScript.

    • Put page-specific JavaScript in the lib/assets/javascripts folder.

    For page-specific JavaScript, use <%= yield(:head) %> in the application layout and <% content_for :head ... %> in the view.

    For a full explanation with all the details, see my article:

    Including External JavaScript Files in Rails

    0 讨论(0)
提交回复
热议问题