質問: いつもお世話になります。 現在Railsでウェブページを作成しております。 lightbox機能を実装しようと、boxerを導入しようとしているのですがうまくいきません。 chromeの開発ツール(F12のやつです)で現在のエラーを確認すると Uncaught TypeError: $(...).boxer is not a function と出る状態です。 他のlightboxなどを導入しても Uncaught TypeError: $(...) "プラグイン名" is not a function と出るので、根本的にやり方が間違っているのでは無いかと思いこちらに質問いたしました。 boxerの場合を例に取りますと jquery.fs.boxer.cssはapp/assets/stylesheets/直下に jquery.fs.boxer.jsはapp/assets/javascripts/直下においたあと bundle exec rake assets:precompile RAILS_ENV=production を実行しております。 ここで質問なのですが、公式サイトなどには とhtmlに書く、と書かれていますが、Railsにおいてはassets:precompileで場所が指定されるため は記述する必要がないという解釈でよいでしょうか。 正しい場合、どういったことが読み込めない原因である可能性が高いでしょうか。 ご教示いただけますと幸いです。 よろしくお願いいたします。 ``` #エラー Uncaught TypeError: $(...).boxer is not a function #呼出は show.html.erb ```
回答: 下記、参考になりますでしょうか。 * railsでのjsプラグインの使い方 > > application.js > > //= require_tree ../../../vendor/assets/javascripts/. > > //= require_directory . > > 上の1文を追加。 > > もちろん、require_directoryとかrequire_treeの前に呼んでおかないと、プラグインの適用ができない(><) > > >