如何在自定义引擎中使用 mainApp 中的用户模型

How to use usermodel from mainApp in custom engine

我已经创建了一个 RoR 应用程序,我想添加一个简单的博客作为引擎,该引擎已经安装到 /blog,用户可以在其中拥有自己的博客。现在我没有找到任何如何在我的博客引擎中使用模型 user.rb 的信息。

在我的主应用程序中我可以使用 current_user.username 但在我的引擎中我不能使用它。

有(至少)两种方法可以实现:

  1. 从主应用程序的 ApplicationController:

    继承您的控制器 class
    class MyEngine::ApplicationController < ::ApplicationController
    end
    

    这样它就可以访问已经在那里配置的所有相同的助手。不利的一面是,这也可能会带来不需要的功能。

  2. 手动包含 Devise 控制器助手:

    class MyEngine::ApplicationController
      include Devise::Controllers::Helpers
      define_helpers(Devise.mappings[:user])
    end