Я подключил движок к моему приложению, которое использует Devise. А также я собираюсь установить еще один, который должен использовать его также. Поэтому я решил использовать Devise от первого двигателя.Нет совпадений в маршруте [GET] "/ accounts/sign_in" при использовании устройства с установленным движком
config/routes.rb
:
Rails.application.routes.draw do
mount EngineWithDevise::Engine => "/engine_with_devise"
mount MyEngine::Engine => "/my_engine"
end
Все работает нормально, но когда я добавил следующий код:
module MyEngine
class ApplicationController < ActionController::Base
before_action :authenticate_account!
end
end
я получил следующее сообщение об ошибке:
ActionController::RoutingError:
No route matches [GET] "/accounts/sign_in"
Так перенаправляет /accounts/sign_in
вместо от /devise_with_engine/accounts/sign_in
Когда я нахожу его вручную, журналы успешно завершаются, а затем работают правильно. При монтировании двигатель /
он работает правильно:
Rails.application.routes.draw do
mount EngineWithDevise::Engine => "/"
mount MyEngine::Engine => "/my_engine"
end
Согласно manual я добавил имя маршрутизатора:
config.router_name = engine_with_devise
и сделал все описанные там. Но это не помогло.
Я использую последнюю версию DEViSE
Любые мысли?