如何在自定义引擎中使用mainApp中的usermodel

时间:2016-12-24 13:26:54

标签: ruby-on-rails devise rails-engines

我已经创建了一个RoR-App,我想添加一个简单的博客作为已经存在于/ blog的引擎,用户可以拥有自己的博客。现在我没有找到任何可以在我的博客引擎中使用模型user.rb的方法。

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

1 个答案:

答案 0 :(得分:1)

有(至少)两种方法可以实现这一目标:

  1. 从主应用程序的ApplicationController

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

    通过这种方式,它可以访问已在那里配置的所有相同帮助程序。作为一个缺点,这可能会拖累不需要的功能。

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

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