Tech Racho エンジニアの「?」を「!」に。
  • 開発

[Rails] Devise Wiki日本語もくじ3「ビュー/コンテンツのカスタマイズ」「特権/認証」

こんにちは、hachi8833です。引き続きDevise Wiki日本語目次をお送りいたします。
原文更新や誤りにお気づきの方は@techrachoまでお知らせください。

もくじリンク

  1. 「ワークフローのカスタマイズ」
  2. 「認証方法のカスタマイズ」「OmniAuth」
  3. 「ビュー/コンテンツのカスタマイズ」「特権/認証」(本記事
  4. 「テスト」「特殊な設定」
  5. 「アプリでのその他の設定」「JavaScript」
  6. 「他の認証プラグインからの移行」「アップグレード」

ビュー/コンテンツのカスタマイズ

※新しい順に並べ替えてあります。

国際化(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

usersstudentsなど、スコープごとに異なる国際化メッセージを表示する方法です。ほとんど走り書きです。

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

以下の外部リンクのみ記載されています。

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)


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。