railsでJavaScriptを使おうとした際に少しハマったのでメモ
現象
jsファイルを作成し、コードを書いているのにブラウザのコンソール画面が反応しない。
↓ jsファイル
posts.js
$(function(){
console.log("OK")
})
原因調査
jqueryの設定にミスがあるかと思ってファイルを確認しても特にミスは見つからず…
というかコンソール画面でエラーすら出ないということはjsファイルが読み込まれていない?
ということでGoogle先生に聞き込み
結果
やはりjsファイルが読み込まれていませんでした。
原因はコントローラ作成時に生成されるcoffeeファイル
このファイルと同じ名前でjsファイルがあるとcoffeeファイルが優先して読み込まれるためjsファイルが読み込まれないということでした。
coffeeファイルを消してリロードしてみると
ちゃんとコンソール画面にOKと表示されました!
coffeeファイルが何に使われるのか、なぜコントローラ作成時に自動で作られるのか謎ですが、coffeeファイルは基本削除するようにしておきます。
(自動生成されるくらいなので割と重要なファイルな気もしますが…)
間違いあれば指摘してください。