0

ログインに接続する必要があるRails3.2.11アプリケーションがあります。Devise Database Authenticatableは、次の場合を除いて問題ありませんでした。

  1. テーブル/フィールドを作成できず、既存のフィールドを使用する必要があります(Deviseはユーザーモデルを作成したいと考えています)。
  2. ユーザーモデルの代わりに、電子メールとパスワードのフィールドを持つ「既存のモデル(学生)」を使用する必要があります。

Railsの第一人者の誰かが、Deviseをカスタマイズする方法や、別のものを使用するかどうかを教えてくれますか。基本的な要件は次のとおりです。誰かが登録する必要があるが、既存のテーブル/フィールドを使用するログインシステムを使用します。

ありがとうございました

4

2 に答える 2

1

テーブルにフィールドを追加できない場合の簡単な答えは、Deviseは認証の選択肢ではありません。動作するには、特定の基本的な特定のフィールドが必要です。

Peter de Ridderが指摘しているように、特定のモデル名でDeviseを設定できます。ただし、これらの必須フィールドがないと、いくつかのワイルドエラーが表示されます(特に「列がない」など)。

このDeviseのwiki記事では、必要に応じてこれらのフィールドを参照していることに注意してください。

https://github.com/plataformatec/devise/wiki/How-To:-change-an-already-existing-table-to-add-devise-required-columns

于 2013-02-07T11:40:08.460 に答える
0

必要に応じてデバイスをカスタマイズできます。Railscasts#210は、カスタマイズオプションに関する情報を提供します。ところで、任意の名前でデバイスモデルを作成できます。たとえば、次のことができます。

rails generate devise Student

Studentモデルが必要な場合。Deviseのほとんどすべてをカスタマイズできますが、一部の変更は他の変更よりも簡単です。また、githubのdeviseからすべてのコントローラーを取得し、独自のアプリケーションでそれらをカスタマイズまたはオーバーライドすることもできます。devise wikiには、カスタマイズに関する多くの情報があります。

https://github.com/plataformatec/devise/wiki

すべての認証オプションを完全に制御したい場合は、改訂されたrailscast#250認証を最初から推奨することもできます(railscastも最初から認証できます)。

于 2013-02-06T21:15:11.560 に答える