[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)

デザインも頼めるシステム開発会社をお探しならBPS株式会社までどうぞ 開発エンジニア積極採用中です! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

hachi8833

Twitter: @hachi8833、GitHub: @hachi8833 コボラー、ITコンサル、ローカライズ業界、Rails開発を経てTechRachoの編集・記事作成を担当。 これまでにRuby on Rails チュートリアル第2版の監修および半分程度を翻訳、Railsガイドの初期翻訳ではほぼすべてを翻訳。その後も折に触れて更新翻訳中。 かと思うと、正規表現の粋を尽くした日本語エラーチェックサービス enno.jpを運営。 実は最近Go言語が好きで、Goで書かれたRubyライクなGoby言語のメンテナーでもある。 仕事に関係ないすっとこブログ「あけてくれ」は2000年頃から多少の中断をはさんで継続、現在はnote.muに移転。

hachi8833の書いた記事

夏のTechRachoフェア2019

週刊Railsウォッチ

インフラ

ActiveSupport探訪シリーズ