Wiem, że before_filter jest tylko dla kontrolerów w Railsach, ale chciałbym coś takiego dla modelu: za każdym razem, gdy wywoływana jest metoda w moim modelu, chciałbym uruchomić metodę, która określa, czy powinna wywoływana metoda . Koncepcyjnie, coś takiego:Model szyn "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
Więc kiedy zadzwonić @ website.method1, to najpierw zadzwonić confirm_company, a jeśli wrócę fałszywe, nie będzie działać method1. Czy Railsy mają taką funkcjonalność? Mam nadzieję, że jestem po prostu brakuje na coś oczywistego tutaj ...
To znaczy, [Active Record oddzwaniania] (http://guides.rubyonrails.org/active_record_validations_callbacks.html#callbacks-overview)? – Mischa
Tak, prawdopodobnie potrzebuję wywołania zwrotnego. Ale żaden z dostępnych callbacków nie może zrobić tego, co chcę. Nie oszczędzam, nie zatwierdzam, nie intelikuję ... Wzywam metodę. –
można użyć obiektu proxy i przekazać go do modelu, jeśli spełniony jest warunek – apneadiving