【发布时间】:2016-12-24 13:26:53
【问题描述】:
我创建了一个 RoR-App,我想添加一个简单的博客作为引擎,该引擎已经安装到 /blog 中,用户可以在其中拥有自己的博客。现在我没有发现如何在我的博客引擎中使用模型 user.rb。
在我的主应用程序中我可以使用current_user.username,但在我的引擎中我不能使用它。
【问题讨论】:
标签: ruby-on-rails devise rails-engines
我创建了一个 RoR-App,我想添加一个简单的博客作为引擎,该引擎已经安装到 /blog 中,用户可以在其中拥有自己的博客。现在我没有发现如何在我的博客引擎中使用模型 user.rb。
在我的主应用程序中我可以使用current_user.username,但在我的引擎中我不能使用它。
【问题讨论】:
标签: ruby-on-rails devise rails-engines
有(至少)两种方法可以实现这一点:
从主应用程序的ApplicationController 继承您的控制器类:
class MyEngine::ApplicationController < ::ApplicationController
end
这样,它就可以访问已经在那里配置的所有相同的助手。不利的一面是,这也可能会引入不需要的功能。
手动包含 Devise 控制器助手:
class MyEngine::ApplicationController
include Devise::Controllers::Helpers
define_helpers(Devise.mappings[:user])
end
【讨论】: