Railsでログイン時のルーティングを定義する(deviseのauthenticatedみたいなやつ)
deviseを使うとconfig/routes.rbに
config/routes.rb
Rails.application.routes.draw do
authenticated :user do
root to: 'dashboard#show', as: :user_root
end
root to: 'landing#show'
end
こんな感じで、ログイン時とそうでない時のルーティングが書けます。
authenticated-instance_method
http://www.rubydoc.info/github/plataformatec/devise/master/ActionDispatch/Routing/Mapper#authenticated-instance_method
これをdevise以外で実現したい時は、constraintsで実現できます。
config/routes.rb
class AuthenticatedConstraint
def matches?(request)
request.session['user_id'].present?
end
end
Rails.application.routes.draw do
constraints AuthenticatedConstraint.new do
root to: 'dashboard#show', as: :user_root
end
root to: 'landing#show'
end
便利(\( ⁰⊖⁰)/)
Author And Source
この問題について(Railsでログイン時のルーティングを定義する(deviseのauthenticatedみたいなやつ)), 我々は、より多くの情報をここで見つけました https://qiita.com/ppworks/items/aa985de186cc3b23a376著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .