http://facebook.com のように同じURLだけどログイン前はランディングページ、ログインしてたらタイムラインを表示するようにしたい。機能が全く違うので同じcontrollerで処理を切り分けるとかはしたくない。
この場合routingでsession情報を判定して切り分けるといい感じ。
config/routes.rb
constraints -> request { request.session[:user_id].present? } do
# ログインしてる時のパス
root to: "dashboard#index"
end
# ログインしてない時のパス
root to: 'welcome#index'