在我的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