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 is the recommended practice?
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:
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.
In Haml
= javascript_include_tag "example"
To load the file assets/javascripts/example.js
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.