Ich möchte eine JavaScript-Bibliothek wie ein jQuery-Plugin verwenden. Verwende ich die Rails-Asset-Pipeline? Oder sollte ich es mit einem javascript_include_tag einschließen? Was sind meine Optionen und was ist die empfohlene Praxis?
Verwenden Sie die JavaScript-Bibliothek nur auf wenigen Seiten oder in der gesamten Anwendung? Wenn Sie es in der gesamten Anwendung verwenden möchten, verwenden Sie die Asset-Pipeline, indem Sie sie zum Ordner vendor / assets / javascripts hinzufügen. Wenn Sie die Bibliothek auf einer einzelnen Seite verwenden möchten, verwenden Sie javascript_include_tag
.
Hier sind Faustregeln, die Sie bei der Verwendung von JavaScript in Rails unterstützen:
Ordnen Sie Ihre Site-weiten Skripts logisch im Ordner app / assets / javascripts / an.
Kopieren Sie externe JavaScript-Bibliotheken (z. B. jQuery-Plugins) in den Ordner vendor / assets / javascripts .
Führen Sie websiteweite Skripts im Manifest app / assets / javascripts / application.js auf.
Lassen Sie die Rails-Asset-Pipeline alle in einer minimierten Datei application.js kombinieren.
Laden Sie Skripts, die auf einigen Seiten mit wenigen Besuchen verwendet werden, als seitenspezifisches JavaScript.
Platzieren Sie seitenspezifisches JavaScript im Ordner lib / assets / javascripts .
Verwenden Sie für seitenspezifisches JavaScript <%= yield(:head) %>
im Anwendungslayout und <% content_for :head ... %>
in der Ansicht.
Eine vollständige Erklärung mit allen Details finden Sie in meinem Artikel:
Tags und Links ruby-on-rails-3 javascript ruby-on-rails asset-pipeline