- Ruby / Rails関連
READ MORE
こんにちは、hachi8833です。一昨日に続き、Devise How-Toシリーズを公開いたします。
原文の更新や誤りにお気づきの場合は、ぜひ@techrachoまでお知らせください。更新いたします。
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_up
をregister
に変更することもできます。