在主应用程序中使用清除对引擎进行身份验证



上下文

我想在同一台服务器上运行多个 rails 应用程序,方法是将它们作为主应用程序中的引擎实现。主应用程序应包含身份验证逻辑,例如用户和角色。


问题

我正在为我的用户系统使用 Thoughbot 的许可,但是当我想通过在其控制器中使用before_action :require_login来验证引擎时,我收到以下错误:

ActionController::UrlGenerationError in MyEngine::PagesController#index. No route matches {:action => "new", :controller => "clearance/sessions"}

我知道这是因为引擎正在其命名空间内寻找间隙控制器,但是如何让引擎在主应用程序中查找?有没有一个简单的解决方法,它足够灵活,在向系统添加新引擎时不会很麻烦?

编辑:

我已经尝试从主应用程序应用程序控制器继承,通过

class ApplicationController < ::ApplicationController

可以在lib/clearance/authorization.rb中跟踪代码以查找要重写或配置的方法。

在这种情况下,你似乎想要覆盖sign_in_url以便生成的 URL 指向你的主机应用。

相关内容

  • 没有找到相关文章

最新更新