こんにちは、hachi8833です。引き続きDevise Wiki日本語目次をお送りいたします。
原文更新や誤りにお気づきの方は@techrachoまでお知らせください。
もくじリンク
- 「ワークフローのカスタマイズ」
- 「認証方法のカスタマイズ」「OmniAuth」
- 「ビュー/コンテンツのカスタマイズ」「特権/認証」(本記事)
- 「テスト」「特殊な設定」
- 「アプリでのその他の設定」「JavaScript」
- 「他の認証プラグインからの移行」「アップグレード」
ビュー/コンテンツのカスタマイズ
※新しい順に並べ替えてあります。
国際化(I18n)
- 22 May 2017 · 254 revisions
- I18n
デフォルトロケールの設定方法と、国際化されたyamlファイルへのリンク集です。おそらく最も頻繁に更新されているWikiです。
現在のDeviseのリソースでエラーメッセージを表示するならapp/helpers/devise_helper.rbをヘルパーをオーバーライドするか、Deviseのビューをアプリにコピーして使うのが簡単です。
カスタムメイラーを使う
- 24 Mar 2017 · 24 revisions
- How To: Use custom mailer
Devise::Mailer
を継承してカスタムメイラーを使う方法です。メールヘッダーを追加・変更する方法や、メールをプレビューする方法も紹介されています。
カスタムレイアウトを作成する
- 23 Dec 2016 · 18 revisions
- How To: Create custom layouts
Deviseのサブクラスとしてコントローラを作成してレイアウトをオーバーライドするのが簡単かつRailsらしい方法です。
ApplicationController の#devise_controller?
でDevise認証が効いているかどうかを判定する方法や、config/application.rbでコールバックを指定して特定のDeviseコントローラにレイアウトを設定する方法も紹介されています。
ビューのdevise_error_messages!
をオーバーライドする
- 20 Mar 2016 · 4 revisions
- Override devise_error_messages! for views
devise_helper.rbアプリケーションヘルパーを追加して#devise_error_messages!
をオーバーライドする方法です。
DeviseとBootstrapでflashメッセージを国際化する
- 12 Feb 2016 · 8 revisions
- How To: Integrate I18n Flash Messages with Devise and Bootstrap
Rails 4、Devise 3、Bootstrap 2.3が対象です。
メッセージをリソースごとに国際化する
- 26 Mar 2014 · 1 revision
- How To:I18n Message for Scoped Resources
users
とstudents
など、スコープごとに異なる国際化メッセージを表示する方法です。ほとんど走り書きです。
DeviseメイラーのすべてのURLで:host
と:port
を設定する
- 3 Feb 2013 · 3 revisions
- How To: Set :host and :port for all devise mailer urls
Deviseのメイラーをオーバーライドしてからapp/concerns/default_url_options.rbのカスタムコードを自分のメイラーにinclude
します。
特権/認証
ゲストユーザーを作成する
- 25 May 2017 · 32 revisions
- How To: Create a guest user
ゲストのUserオブジェクトを使って、ログインしていない一般ユーザーでもセッションを管理できるようにする方法です。ここではゲストのオブジェクトを作成してidをsession[:guest_user_id]
でデータベースに保存し、current_or_guest_user
でゲストかどうかを判定します。
管理者がアカウントを有効にするまでsign_in
できないようにする
- 18 Aug 2016 · 17 revisions
- How To: Require admin to activate account before sign_in"
confirmableモジュールを使わず、管理者(モデレーター: moderator)が承認するまでユーザーのアカウントを有効にしないようにする方法です。
ユーザーにデフォルトのロールを追加する
- 2 Aug 2016 · 8 revisions
- How To: Add a default role to a User
seeds.rbを使ってデフォルトのユーザーロールを設定する方法が紹介されています。
Adminロールを追加する
- 10 Jun 2016 · 25 revisions
- How To: Add an Admin Role
Adminモデルを追加する方法と、モデルにadmin
属性を追加する方法が紹介されています。
adminが別のユーザーとしてサインインできるようにする(偽装)
- 15 Jan 2015 · 6 revisions
- How To: Sign in as another user if you are an admin
adminが別のユーザーとしてサインインできるようにする方法です。もっと高度な偽装機能が必要な場合にはswitch_userというgemがあるそうです。
Adminロールでユーザーを管理する(CanCanを利用)
- 18 Apr 2014 · 3 revisions
- How To: Manage Users with an Admin Role (CanCan method)
Devise 1.1.3、Cancan 0.4.1、Mongoidの組み合わせです。
CanCanでロールを管理する
- 3 Nov 2013 · 6 revisions
- How To: Integrate with CanCan for roles management
以下の外部リンクのみ記載されています。
- DeviseとCanCanでRails認証: Deviseコントローラのカスタマイズ
- RailsCasts: CanCanでロール管理
- サンプルアプリ:Ruby 2 + Rails 4 + Devise 3 + Cancan
adminユーザーのトラッキングをオフにする
- 9 Jun 2011 · 1 revision
- How To: Turn off trackable for admin users
update_tracked_fields!
をオーバーロードしてadminのみトラッキングをバイパスする方法のメモ書きです。
補足
- 原文ではsign inとlog in、sign outとlog outがそれぞれ同じ意味で使われています。訳文では、紛らわしくなる場合を除き、原則として原文に沿ったカタカナを使用します。
- 同じ手順が複数のカテゴリに含まれていることもあります(原文に従っています)
- 原文が更新されていることにお気づきの場合は、ぜひ@techrachoまでお知らせください。更新いたします。
関連記事(Devise)
- Rails4: 古いdeviseのパスワードを新しいdeviseで使う方法
- Rails 3.1.0.rc8にしようとしたらdeviseが違うバージョンのbcryptに依存していてアップデートできない
- [Rails 3] deviseで使うモデルにfind_by_で始まる名前のscopeを定義するとrake db:migrate:resetが通らない
- [Rails 3] 失敗しないmigrationを書こう
- [Rails 3] Appサーバが複数だとdevise_openid_authenticatableで認証できない