Согласно документации devise, мы можем переопределить пути сеансов по умолчанию, используя следующее:
as :user do
get 'login', to: 'users/sessions#new', as: :new_user_session
post 'login', to: 'users/sessions#create', as: :user_session
delete 'logout', to: 'users/sessions#destroy', as: :destroy_user_session
end
Это создаст следующие маршруты:
Helper Path URL Controller
new_user_session_path /login users/sessions#new
user_session_path /login users/sessions#create
destroy_user_session_path /logout users/sessions#destroy
Однако, без переноса определенногопуть внутри блока as-block
или devise_scope
, такой как приведенный ниже, , мы производим одинаковые точные маршруты .
get 'login', to: 'users/sessions#new', as: :new_user_session
post 'login', to: 'users/sessions#create', as: :user_session
delete 'logout', to: 'users/sessions#destroy', as: :destroy_user_session
Мой вопрос: зачем нам вообще нужноблок as-block
/ device_for?Почему бы просто не определить это напрямую?Каковы функции и преимущества as-block
?