1
我正在構建一個模塊化的Padrino應用程序來掛載多個應用程序。在應用程序之間共享過濾器
我一個基本應用程序安裝到/
class BaseApp < Padrino::Application
...
end
我然後安裝其他appilications到其它端點,如/clients
和這些應用程序在基本應用程序繼承:
class ClientsApp < BaseApp
...
end
這傳承允許我爲BaseApp
類定義我的所有設置,錯誤處理和app.rb
中的任何包含的機架中間件。
到目前爲止這麼好。 但我也想分享before
和after
之間的路由應用程序。例如,在我BaseApp
控制器代碼我想這樣做:
BaseApp.controller do
before do
...
end
after do
...
end
get :index do
...
end
end
,而不是我ClientsApp
控制器代碼重複這些過濾器,像這樣:
ClientsApp.controller do
before do
...
end
after do
...
end
get :index do
...
end
end
反正是有,我可以幹起來這代碼並在BaseApp
中指定一次過濾器並讓它們以某種方式繼承?我明白這些過濾器是方法調用而不是方法。
謝謝!
謝謝,但不工作 - 'NoMethodError:未定義的方法 '過濾器=' 爲ClientsApp:Class' – 2012-02-03 14:42:58
檢查更新代碼 – DAddYE 2012-02-03 18:29:00
謝謝。更新後的代碼不會再引發錯誤,但是子類應用程序中的所有路由現在都會返回404,就好像路由被覆蓋/丟失或者其他情況一樣。任何其他想法? – 2012-02-06 16:42:12