Я только что запустил новое приложение Rails (6.0.0.rc1) и включил Devise для аутентификации.Теперь у Devise есть много просмотров, которые используются для регистрации, входа и так далее.Естественно, я хочу предоставить неаутентифицированным пользователям доступ к этим представлениям, в то время как основное приложение полностью доступно только для аутентифицированных пользователей.В настоящее время я делаю следующее в моем routes.rb
:
devise_scope :user do
authenticated :user do
root 'pages#home', as: :authenticated_root
end
unauthenticated do
root 'devise/sessions#new', as: :unauthenticated_root
end
end
Тогда в моем application.haml
у меня есть простое утверждение if / else:
!!!
%html
%head
...
%body
- if user_signed_in?
= render 'some/template'
= yield
- else
= yield
Это похоже на взломМне, однако, также, поскольку он включает в себя все файлы в% head, независимо от того, вошел ли пользователь в систему или нет.
Каков наилучший способ определить один тип макета для неаутентифицированных пользователей и один для входа в системупользователей?