我知道before_filter只適用於Rails中的控制器,但是我希望模型能夠這樣:任何時候調用模型中的某個方法,我想運行一個方法來確定被調用的方法是否應該運行。從概念上講,這樣的事情:Rails模型「before_filter」?
class Website < ActiveRecord::Base
before_filter :confirm_company
def confirm_company
if self.parent.thing == false?
return false
end
end
def method1
#do stuff
end
end
所以,當我打電話@ website.method1,它會先調用confirm_company,如果我返回false,將不會運行方法1。 Rails是否具有這樣的功能?我希望我只是錯過了一些東西很明顯這裏...
你的意思[Active Record的回調(http://guides.rubyonrails.org/active_record_validations_callbacks.html#callbacks-overview)? – Mischa
是的,我想,回調是我需要的。但沒有可用的回調可以做我以後的事情。我不保存,驗證,初始化...我正在調用一種方法。 –
如果您的條件得到滿足,您可以使用代理對象並將代表委託給模型 – apneadiving