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

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

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

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

Devise

Deviseとは、Ruby-on-Railsの認証機能を追加するプラグインです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

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

Bootstrap

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

Q&A

解決済

1回答

2148閲覧

bootstrap.offcanvas.jsを使ったとき、ユーザのログアウトができない

YutaTanikawa

総合スコア8

Ruby on Rails 5

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

Devise

Deviseとは、Ruby-on-Railsの認証機能を追加するプラグインです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

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

Bootstrap

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

0グッド

1クリップ

投稿2018/12/06 08:26

編集2018/12/08 13:08

bootstrap.offcanvas.jsを使い、ハンバーガーメニューと左からスッと出てくるオフキャンバスメニューを作りました。
ハンバーガーメニューからオフキャンバスメニューを出したとき、deleteメソッドを用いたログアウトリンクをクリックしても、オフキャンバスメニューが閉じるだけでログアウトされません(ほかの通常のリンクは正常に動作します)。
横幅が大きいデバイスで表示したときには、ログアウトのリンクがheaderの部分に既に表示されており(ハンバーガーメニューではなくすでに表示されており)、それは問題なく反応します。
初学者のため、表現がわかりにくいかもしれませんが、ご教示いただければと思います。

環境:
Rails 5.1.6.1
Ruby 2.5.0
turbolinks 5.2.0
devise 4.5.0
bootstrap-sass 3.3.7
jquery-rails 4.3.3

bootstrap.offcanvas.jsとbootstrap.offcanvas.cssはgithubから最新版をダウンロードし、vendor/assets/javascriptsおよびvendor/assets/stylesheets以下に配置済み。

app/views/layout/application.html.erb
<!DOCTYPE html> <html> <head> <title>PayjpEcsite</title> <%= csrf_meta_tags %> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> </head> <body> <header> <div data-turbolinks="false"> <button type="button" class="navbar-toggle offcanvas-toggle" data-toggle="offcanvas" data-target="#js-bootstrap-offcanvas"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <nav class="navbar navbar-default navbar-offcanvas navbar-offcanvas-touch" role="navigation" id="js-bootstrap-offcanvas"> <div class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <a class="navbar-brand" href="#">Brand</a> </div> <!-- Collect the nav links, forms, and other content for toggling --> <ul class="nav navbar-nav"> <% if user_signed_in? %> <% if current_user.admin? %> <li><%= link_to current_user.last_name + " " + current_user.first_name + "(Admin)", user_path(current_user) %></li> <li><%=link_to "商品新規登録", new_product_path %></li> <% else %> <li><%= link_to current_user.last_name + " " + current_user.first_name + " 様の購入履歴", user_path(current_user) %></li> <% end %> <li><%= link_to '登録情報変更', edit_user_registration_path %></li> <li><%= link_to 'ログアウト', destroy_user_session_path, method: :delete %></li> <% else %> <li><%= link_to 'サインアップ', new_user_registration_path %></li> <li><%= link_to 'ログイン', new_user_session_path %></li> <% end %> </ul> </div><!-- /.container-fluid --> </nav> </div> </header> <div class="container-fluid"> <p class="notice"><%= notice %></p> <p class="alert"><%= alert %></p> <%= yield %> </div> </body> </html>

######app/assets/javascripts/application.js

//= require rails-ujs //= require turbolinks //= require jquery //= require jquery.jpostal //= require bootstrap-sprockets //= require bootstrap.offcanvas //= require_tree .

######app/assets/stlesheets/application.js

*= require_tree . *= require_self */ @import "bootstrap-sprockets"; @import "bootstrap"; @import "bootstrap.offcanvas"; header { height: 11px;; } .form-control-label { display: block; } .invalid-feedback { color: red; }

他に必要な項目があれば、教えていただければ追記します。
よろしくおねがいたします。

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

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

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

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

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

guest

回答1

0

自己解決

理由はわかりませんが、もう一度1からRails newして作り直したら改善しました。。。
また何か困ったときはよろしくお願いします。

投稿2018/12/12 02:13

YutaTanikawa

総合スコア8

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問