在我的Rails应用程序中,我安装了一个外部引擎。我在ApplicationController
中有一个before_filter
,我需要从此过滤器中排除引擎的一些操作。使用before_filter,是否可以排除挂载引擎的操作?
通常,我会在相应的控制器中使用skip_before_filter
,但由于它不是我的,我宁愿不要触摸引擎代码本身。
有没有办法做到这一点?
class ApplicationController < ActionController::Base
before_filter :authorize, :except => [:engine/setup] # something like this?
...
感谢,
PJ
非常感谢,对不起,我花了这么长时间......这不是我们的选择:这个引擎有很多控制器(<> 30)。我们需要这么做很多次。所以我没有尝试。但无论如何,我不确定这是否会说实话:当我们加载一个指向引擎的URL时,Rails将如何知道直接“请求”这些新控制器而不是原来的引擎? – PJC 2013-05-14 11:38:51
因为你的app目录中的控制器在某处路由时具有优先权。 – Raindal 2013-05-14 13:16:09