Ruby on rails 如何为使用发动机的两种型号设置设备
我在正确设置发动机方面遇到了一些问题 在我的引擎中我有:Ruby on rails 如何为使用发动机的两种型号设置设备,ruby-on-rails,devise,rails-engines,Ruby On Rails,Devise,Rails Engines,我在正确设置发动机方面遇到了一些问题 在我的引擎中我有: config/initializers/designe.rb config.router_name = :portal_core devise_for :users, class_name: 'PortalCore::User', module: :devise module PortalCore class User < ApplicationRecord ... devise :database_auth
config/initializers/designe.rb
config.router_name = :portal_core
devise_for :users, class_name: 'PortalCore::User', module: :devise
module PortalCore
class User < ApplicationRecord
...
devise :database_authenticatable, :trackable, :confirmable,
:recoverable, :rememberable, :validatable, :lockable
end
end
devise_for :admin_users, class_name: 'AdminUser'
class User < ApplicationRecord
...
devise :database_authenticatable, :trackable,
:recoverable, :rememberable, :validatable
end
config/routes.rb
config.router_name = :portal_core
devise_for :users, class_name: 'PortalCore::User', module: :devise
module PortalCore
class User < ApplicationRecord
...
devise :database_authenticatable, :trackable, :confirmable,
:recoverable, :rememberable, :validatable, :lockable
end
end
devise_for :admin_users, class_name: 'AdminUser'
class User < ApplicationRecord
...
devise :database_authenticatable, :trackable,
:recoverable, :rememberable, :validatable
end
app/models/portal\u core/user.rb
config.router_name = :portal_core
devise_for :users, class_name: 'PortalCore::User', module: :devise
module PortalCore
class User < ApplicationRecord
...
devise :database_authenticatable, :trackable, :confirmable,
:recoverable, :rememberable, :validatable, :lockable
end
end
devise_for :admin_users, class_name: 'AdminUser'
class User < ApplicationRecord
...
devise :database_authenticatable, :trackable,
:recoverable, :rememberable, :validatable
end
app/models/admin\u user.rb
config.router_name = :portal_core
devise_for :users, class_name: 'PortalCore::User', module: :devise
module PortalCore
class User < ApplicationRecord
...
devise :database_authenticatable, :trackable, :confirmable,
:recoverable, :rememberable, :validatable, :lockable
end
end
devise_for :admin_users, class_name: 'AdminUser'
class User < ApplicationRecord
...
devise :database_authenticatable, :trackable,
:recoverable, :rememberable, :validatable
end
我得到了这个错误:NoMethodError:
用于#设计::FailureApp:0x0000000008c9f1f0>的未定义方法“门户核心”
如果我在主机应用程序中装载引擎路由:
context "When not logged in" do
it "redirect to new user session when try to access index" do
process :index, method: :get, params:{}
expect(response).to redirect_to(new_admin_user_session_path)
end
end
mount PortalCore::Engine => '/portal_core'
然后我得到了这个错误:预期的响应是重定向到,但实际上是重定向到。
如果我尝试启动服务器,它会继续使用401命令重定向
可能缺少一些配置,但我不知道是什么。因此,我不知道这是解决方案还是解决方案 在主机应用程序designe初始化器中,我将路由器名称设置为nil:
config.router\u name=nil
它成功了
欢迎任何其他解决方案
谢谢