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

[Devise How-To]デフォルトのSign_up登録パスをカスタムパスに変更する(翻訳)

こんにちは、hachi8833です。一昨日に続き、Devise How-Toシリーズを公開いたします。

Devise Wikiもくじリンク

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

概要

原文の更新や誤りにお気づきの場合は、ぜひ@techrachoまでお知らせください。更新いたします。

[How-To] デフォルトのSign_up登録パスをカスタムパスに変更する(翻訳)

Deviseのsign_pathでは、デフォルトで/users/sign_upというパスを使います。何らかの理由でこのデフォルトパスをdomain.com/sign_upに変更したい場合は、次のようにします(registration/sign_upというカスタムコントローラを生成してないことが前提です)。

# routes.rbのトップレベル
Rails.application.routes.draw do
  devise_scope :user do
    get "/sign_in" => "devise/sessions#new" # login/sign_inへのカスタムパス
    get "/sign_up" => "devise/registrations#new", as: "new_user_registration" # sign_up/registrationへのカスタムパス
  end

  # その他のすべてのルーティング
  devise_for :users

  ...
end

これにより、ビューで以下のように登録パスを指定できるようになります。

<%= link_to "Sign up", new_user_registration_path %>

その他に必要な変更はありません。サーバーを再起動すれば反映完了です。

好みに応じてsign_upregisterに変更することもできます。

関連記事(Devise)


CONTACT

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