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

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

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

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

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Q&A

解決済

1回答

2359閲覧

deviseを2つのモデルにつけたいです!rails

sn.jr

総合スコア53

Devise

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

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

0グッド

0クリップ

投稿2020/01/08 05:55

前提

Userモデル
Teamモデル
どちらにもdeviseをつけている

実現しようとしていること

チームプロジェクトに参加するにあたって、チームの名前とパスワードを入力するようにしたい。
すでにuser認証のdeviseは入っており、今回はTeamモデルに対してdeviseを作りたい。

抱えている問題

Userモデルのdeviseではemailとpasswordによってログインを可能にさせています。(デフォルト)
しかしTeamモデルに関してはnameとpasswordによってログインを実現したいです。emailではなくnameでログインを実現したいと言う前例は多くの説明がネットに載っており、下記のようにdevise.rbを変更するのだと思いますが、僕の場合はUserのログインはそのままの状態を保ったまま、Teamモデルに関してはnameとpasswordによってログインさせたいです。

説明が下手くそだと思うので、何か分からない点がありましたらご指摘していただけると幸いです。

rb

1config.authentication_keys = [:email] 23config.authentication_keys = [:name]

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

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

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

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

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

guest

回答1

0

ベストアンサー

それぞれのモデルに devise の設定を記述できます。

rb

1class User < ApplicationRecord 2 devise :database_authenticatable, authentication_keys: [:email] 3 ...

rb

1class Team < ApplicationRecord 2 devise :database_authenticatable, authentication_keys: [:name] 3 ...

--

参考URL:
How to use different authentication_keys for two devise models? - stack overflow

--

それと、本件で役立ちそうな公式のwikiページを見つけたのでついでに貼っておきます。
How to Setup Multiple Devise User Models | wiki - heartcombo / devise - github

投稿2020/01/15 06:11

shinoharat

総合スコア1676

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

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

sn.jr

2020/01/15 11:04

なるほど!長らく解決できていなかった問題なので助かります!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問