質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.83%

  • jQuery

    6010questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

  • Ruby on Rails 5

    961questions

  • CoffeeScript

    132questions

    CoffeeScriptはプログラミング言語です。シンタックスシュガーの導入により、JavaScriptのコードに変換された後動作します。JavaScriptに比べ、可読性と簡潔性が向上しています。

jQueryプラグインが突然動かなくなった【active adminの影響?:Rails】

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 117

sakurasaku

score 9

いつのまにか、下記jquery関連が動かなくなってしまいました。 
・Tag-it
・Autocomplete
・Sortable

正常に動いていた時から、動作不良に気づくまでに行なったことといえば、redis、sidekiq、SSLの導入など、直接的に関係なさそうなことばかりです。唯一、この間に行なったActive Adminだけは影響ありそうなので、Gemfile.lockの中のスクリーンショットを記載させていただきます。

イメージ説明

最初は、Tag-it&Autocompleteを用いているページで動作不良を起こしていたため、この部分のどこかで問題が起こっていると考えましたが、別ページで用いているSortableも同様に動作しなくなっていたため、jqueryそのものに問題が生じていると考えています。

なお、コンソールでは、特にエラーは出ていない状態です。下記コードの「jQueryのインライン動作」は確認が取れましたが、 「jQueryの外部ファイル化」がうまくいかなくなっているので、この辺りが問題点かなと思っております。(あるいはbootstrap系との衝突)

<p>Hello World!</p>
<script type="text/javascript">
$("p").css("color", "red");
</script>

問題に該当しそうな、部分のコードを転載させていただきます。

//= require jquery
//= require popper
//= require bootstrap
//= require jquery_ujs
//= require jquery-ui/widgets/sortable
//= require rails_sortable
//= require jquery-ui/widgets/autocomplete
//= require tag-it
//= require turbolinks
//= require_tree .
//= require jquery_nested_form
//= require_self
<%= csrf_meta_tags %>
<%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>

現状は、解決の糸口もつかめていない状況なので、もし方向性だけでもお気付きの点があればご教示いただけると幸いです。上記の情報が的違いで、解決策を判断する上での情報が不足していましたら、ご指摘いただければ、該当部分を更新するようにいたします。よろしくお願いいたします!

ーー追記ーー

エラー画面を追記します。なお、リロードした時には「✖︎」のエラーは表示されず、新たにページ遷移した時だけ、下記エラーが表示されます。なお、Tag-it&Autocompleteを用いているページも、Sortableを用いているページも、同じエラーが表記されております。

イメージ説明

また、tabs.self-5bccad3e0e615bd96bf323490a71829beec067511af628e9808993bb6beeb3a5.js?body=1:5 をクリックすると、ソースは下記が表示されます。

イメージ説明

ソースを見てactive_adminが影響しているのかなと考えています。active_adminのインストール時に、以前から入れていたjqueryが何かしらの衝突を起こしているとか。。。もし思い当たる点のある方がいましたらご教示頂けますと幸いです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • lucker

    2018/04/12 12:12

    あれ? これ、即時関数で囲まないで実行されるんだっけ?

    キャンセル

  • mts10806

    2018/04/12 12:47

    エラーメッセージか何か出ていませんでしょうか(ブラウザ開発ツールのコンソール)

    キャンセル

  • lucker

    2018/04/13 10:40

    jQuery UI のメソッド呼んでるのかー。jQuery UI のタブが読み込まれてないのかなー。

    キャンセル

回答 1

check解決した方法

0

activeadminのcss/jsファイルに問題があったようで、こちらのファイル収納箇所を変えたところ、問題が解決しました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.83%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • jQuery

    6010questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

  • Ruby on Rails 5

    961questions

  • CoffeeScript

    132questions

    CoffeeScriptはプログラミング言語です。シンタックスシュガーの導入により、JavaScriptのコードに変換された後動作します。JavaScriptに比べ、可読性と簡潔性が向上しています。