LoginSignup
3
4

More than 5 years have passed since last update.

RailsでjQueryライブラリのbody内読み込みをさせてみる

Last updated at Posted at 2015-10-01

最近Railsを始めたのですが、アプリ内でJavascriptを読み込むときに一般的なhead内でのアセットパイプライン出力ではなく、</body>タグ直前付近で読み込ませたいなと思い、調べてやってみました。

※Rails、マークダウンとも慣れていないのでなにかありましたらご指摘ください。

lightbox2を例に

配置

vendor/assets
 ┠/lightbox(DL・解凍した時点ではsrcというフォルダ)
 ┃  ┠/js─lightbox.js
 ┃  ┠/css─lightbox.css
 ┃  ┗/images─(矢印等一式 ※今回触れてません)
 ┗/javascripts・/stylesheets等

手順

  1. lightboxファイル一式を入れたフォルダはvendor/assets以下に配置
  2. cssはheadの方のアセットパイプラインへお任せ
    *= require css/lightbox(application.css)
  3. javascriptは下記のような書き方でした。配列なので複数指定することもオケなようです
config/initializers/assets.rb
Rails.application.config.assets.precompile += %w( js/lightbox.js )

後はapplication.html.erbの</body>直前や、index・show等のビュー下部で

layouts/application.html.erb
<%= javascript_include_tag "js/lightbox.js" %>
</body>

とすることで読み込まれました。

直接publicに置いたりCDNで読み込ませる方法もあると思いますが、ライブラリのファイル一式を固めて置いとけるのが気持ちスッキリということでのやり方でした。

参考

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4