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

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

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

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

Ruby on Rails

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

955閲覧

Rails レイアウトファイル

Meitoku

総合スコア44

Devise

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

Ruby on Rails

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2020/12/09 10:29

編集2020/12/09 13:08

railsのレイアウトファイルはデフォルトではlayouts > application.html.erbが読み込まれますが、
別のファイルを読み込ませるとログアウト時に以下のエラーが発生します
イメージ説明

レイアウトファイルが関与していると思いますが、application.html.erbを読み込むことによって、どのファイルが動きログイン機能が使えるようになるのですか?

###読み込ませたファイル
vue.html.erb
application.html.erbとの違いは、vue.jsを読み込ませる記述に変えてるところです

<!DOCTYPE html> <html> <head> <title>タイトル</title> <%= csrf_meta_tags %> <%= csp_meta_tag %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU" crossorigin="anonymous"> </head> <body> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.js"></script> <%= render partial: "tweets/header" %> <%= yield %> </body> </html>

エラーが起きないのは
##application.html.erb デフォルト

<!DOCTYPE html> <html> <head> <title>タイトル</title> <%= csrf_meta_tags %> <%= csp_meta_tag %> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU" crossorigin="anonymous"> </head> <body> <%= render partial: "tweets/header" %> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.js"></script> <%= yield %> </body> </html>

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

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

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

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

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

maisumakun

2020/12/09 11:30

> 別のファイルを読み込ませると どのファイルにどのように書いてその指定を行いましたか?
Meitoku

2020/12/09 12:58

ありがとうございます 追記しました
maisumakun

2020/12/09 13:01

ビューファイルの中身ではなく、「呼ぶ方」はどう書き換えましたか?
Meitoku

2020/12/09 13:04

呼ぶ方は書き換えていません
Meitoku

2020/12/09 13:06 編集

render layout: "vue" 以上の記述をコントローラーのアクションの中でしています
maisumakun

2020/12/09 13:06 編集

「application.html.erb自体を書き換えた」ということでしょうか? それとも、別な名前で当該ファイルを追加した形でしょうか?
Meitoku

2020/12/09 13:07

def index render layout: "vue" end で読み込ませるファイルを変えました
maisumakun

2020/12/09 13:32

エラーが発生する「ログアウト時」とは、「ログアウトを行った時」のことですか、それとも「ログアウト状態の時」ですか?
Meitoku

2020/12/09 13:40

ログアウトを行った時です
guest

回答2

0

自己解決

投稿2020/12/10 06:30

Meitoku

総合スコア44

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

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

0

エラーメッセージは
ユーザーコントローラーにshowアクションが見つかりません。
というメッセージです。
userControllerや、routes.rbなどを確認したほうが良いかと思いますが、
如何でしょうか?

投稿2020/12/09 10:39

tomtomtomtom

総合スコア563

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

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

Meitoku

2020/12/09 10:54

ご回答ありがとうございます なるほど、ですがレイアウトファイルをデフォルトにすると問題なくログアウトできますし、 デバイスで実装しましたが、もともとユーザーコントローラーにshowアクションは実装していませんので、なぜshowアクション?と疑問に思います
tomtomtomtom

2020/12/09 11:08

それは失礼いたしました。 あとは、 別のファイルの方に、deviseのログアウト後の遷移先を記入頂くことぐらいしか思い浮かびません。 申し訳ありません。
Meitoku

2020/12/09 12:59

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問