Özel bir mantığı route.rb içine koymak tamam mı? ÖrneğinRaylar rotaları mantık
: böyle çalışmıyor
unless current_user
root :to => anonymous_page
else
root :to => logged_in_page
end
Özel bir mantığı route.rb içine koymak tamam mı? ÖrneğinRaylar rotaları mantık
: böyle çalışmıyor
unless current_user
root :to => anonymous_page
else
root :to => logged_in_page
end
, özel mantığı rotalara yerleştirebilirsiniz ... ama öfke önerisi olarak - "current_user", yol dosyası yüklendiğinde çalışmayacaktır. Bazen mantığımızı bizim routefile'de kullanırız (örneğin, sadece RAILS_ENV == 'development' ise mevcut olan rotaları kurmak).
Ne muhtemelen istediğiniz bir before_filter "anonymous_page" örneğin üzerindedir:
before_filter :redirect_if_logged_in, :only => :anonymous_page
def redirect_if_logged_in
redirect_to logged_in_page if current_user.present?
end
. Yollar, istek başına değil, sunucu başlangıcında okunur/oluşturulur. Bu mantık kontrolörlere koymanız gerekiyor.
Sen ne düşündüğünü yapmak temizleme mücevher kullanabilirsiniz. boşluk belgelerden; boşluk ortakatmanı kendisini ekler, çünkü bu işleri
Blog::Application.routes.draw do
constraints Clearance::Constraints::SignedIn.new { |user| user.admin? } do
root to: 'admin'
end
constraints Clearance::Constraints::SignedIn.new do
root to: 'dashboard'
end
constraints Clearance::Constraints::SignedOut.new do
root to: 'marketing'
end
end
, yolları işlenir mevcut önce statüsünde imzalanan kazanmış olmak.
Not: Buradaki sihir, burada bir şey yapmak için bir şey yapar: https://github.com/plataformatec/devise/wiki/How-To:-Define-a-different-root-route-for-logged-in- dışı kullanıcılar – Jonathan