【发布时间】:2013-08-06 10:06:52
【问题描述】:
我使用 Rails 引擎作为cms。一切正常。我正在为此添加设计。
我生成的设计控制器继承自 Devise::SessionsController。但是有一些过滤器是从引擎中的另一个控制器运行的,在这种情况下不会运行。许多网站都依赖于这些正在运行的过滤器。当然我可以复制它们,但那是糟糕的juju。
所以我的问题是:如何让一个控制器运行另一个控制器的过滤器?我不想编辑任何一个 gem。
【问题讨论】:
-
不确定你在做什么。但这不会起作用吗? github.com/comfy/comfortable-mexican-sofa/wiki/…
-
嘿@Grocery 我猜你是舒适的创造者?如果是这样,这就是我正在做的事情:我已经对你的 gem 进行了相当多的修改(你可能实际上想要它的一些功能)并正在使用它构建一个应用程序。我想要前端的用户登录系统。我已将其用于身份验证。但是对于设计视图,它们需要实际的布局。我们的应用布局极简,该应用将包含许多完全可定制的网站。
-
所以要做到这一点,我需要将舒适的功能混合到应用程序的设计控制器中。我最终将
RenderMethods包含在我的设计控制器中,重写了一些设计函数以使它们使用 cms_layouts(以及我们的一些功能)来使其工作。如果你想看就给我喊一声,事实上我会很高兴看到它的另一双眼睛。
标签: ruby-on-rails ruby-on-rails-3 inheritance devise mixins