Rails5でjQueryを使用する方法です。
Step1. gemの追加
Gemfileにjquery-rails
を追加します。jquery-rails
はデフォルトで存在し、有効になっています。
gem 'jquery-rails'
bundle installします。
$ bundle install
Step2. javascriptの動作確認
まずはAlert
メソッドを使って、javascript
が動作するか確認します。
適当なviewファイル(index.html.erb
など)を開き、次の処理を追加します。
<script type="text/javascript"> alert('Hello World!'); </script>
アラートメッセージが表示されれば、javascriptは動作しています。
Step3. jQueryのインライン動作確認
jQueryコードをまずはインラインで実装して、動作確認します。
ここで書くjQueryは次のフォーマットになっています。
$("セレクタ").メソッド(パラメータ)
適当なviewファイル(index.html.erb
など)を開き、次の処理を追加します。ここではp
タグのcolor
属性をred
にしています。
<p>Hello World!</p> <script type="text/javascript"> $("p").css("color", "red"); </script>
ブラウザで該当ページを開き、Hello World!
が赤色になっていればOKです。
また、p
タグよりも前にjQuery
コードを置く場合は、HTML
のロードが終わってからjQuery
コードを実行するように指示しないとスタイルが反映されません。この場合は次のように$(document).ready
を使います。
<script type="text/javascript"> $(document).ready(function() { $("p").css("color", "red"); }); </script> <p>Hello World!</p>
Step4. jQueryの外部ファイル化
jQueryコードをjs
ファイルに書きます。viewファイルに記述したコードは消しておきます。
app/assets/javascripts
フォルダにsample.js
を作成し、そこにjavascript
コードもしくはjQuery
コードを記述します。script
タグは不要です。注意点として、HTMLセレクタ
が含まれる場合は、HTMLの読み込みが終わってからコードが実行されるように、$(document).ready
を使わないと大抵動作しません。
$(document).ready(function() { $("p").css("color", "blue"); });
上記のjavascriptは初期状態では自動で読み込まれます。ただし、app/assets/javascripts/application.js
に//= require_tree .
が定義されていない場合は読み込まれません。
ブラウザで該当ページを開き、Hello World!
が青色になっていればOKです。
以上です。