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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Q&A

解決済

1回答

2087閲覧

画面遷移するとドロップダウンが動かなくなる

nashi

総合スコア33

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

0グッド

0クリップ

投稿2019/04/14 11:06

bootstrap4にてナビゲーションバーにドロップダウンメニューを表示しています。
ナビゲーションバーは部分テンプレートで呼び出し、常時画面上部に表示させています。

URI無しのサイトのTOPページから別ページに遷移し、URIが付くとナビゲーションバー内のドロップダウンメニューが開かなくなります。
その後も何度か遷移を繰り返していると、ドロップダウンメニューが開いたり開かなかったりと、動作が安定しません。

ナビゲーションバー

<% if user_signed_in? %> <div class='navbar navbar-default navbar-fixed-top'> <div class='container'> <nav class="navbar navbar-expand fixed-top navbar-light bg-light"> <a href="#" class="navbar-brand">OurGoal</a> <ul class="navbar-nav ml-auto"> <li class="nav-item"><a href="/" class="nav-link">HOME</a></li> <li class="dropdown nav-item"> <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">アカウント</a> <div class="dropdown-menu dropdown-menu-right" role="menu"> <div class="d-flex flex-column text-center"> <a class="doropdown-item"><%= link_to"マイページ",user_path(current_user)%></a> <a class="doropdown-item"><%= link_to"ログアウト",destroy_user_session_path, method: :delete%></a> </div> </div> </li> </ul> </nav> </div> </div> <% end %>

テンプレート

<!DOCTYPE html> <html lag="ja"> <head> <meta charset='utf-8'> <meta http-equiv='X-UA-Compatible' content='IE=Edge,chrome=1'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <%= csrf_meta_tags %> <%= csp_meta_tag %>    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> <title>OurGoal</title> </head> <body> <div class="justify-content-center"> <%= render partial: 'common/header' %> <div class="row" style="background:#b0c4de"> <%= yield %> <p class="alert"><%= alert %></p> </div> </div> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>   <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>   <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script> </body> <footer class='text-center'> <p>(C) 2019</p> </footer> </html>

他に記載すべき情報があったら教えてくださいm(__)m
よろしくお願いします。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

おそらくturbolinksのせいだと思います。
link_to の中で turbolinks: :false を行い読み込み直す必要が有ります。
マイページを例に取ると

<%= link_to 'マイページ', user_path(current_user), data: { turbolinks: :false } %>

これで行けるかと思います。
必要がなければ全体のturbolinksを切ってしまえば、わざわざlink_toにturblinks: :falseを追記しなくてもよくなります。

投稿2019/04/23 13:44

mot93

総合スコア99

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nashi

2019/04/28 05:14

なるほど!勉強になりました ありがとうございますm(__)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問