before_filter는 Rails의 컨트롤러에만 사용되지만 모델에 대해서는 이와 비슷한 것을 원합니다. 모델의 메서드가 호출 될 때마다 호출 된 메서드가 실행되어야하는지 여부를 결정하는 메서드를 실행하고 싶습니다. . 개념적으로,이 같은 : 나는 @ website.method1를 호출 할 때레일스 모델 "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
그래서, 먼저 confirm_company를 호출합니다, 나는 false를 반환하는 경우, 방법 항목을 실행되지 않습니다. Rails에는 이와 같은 기능이 있습니까? 나는이 작동 정말 모르겠어요 난 그냥
을 의미 [액티브 레코드 콜백 (http://guides.rubyonrails.org/active_record_validations_callbacks.html#callbacks-overview)? – Mischa
예, 콜백이 필요합니다. 그러나 사용할 수있는 콜백 중 내가 할 수있는 콜백은 없습니다. 나는 저장하고 검증하지 않고 초기화하지 않는다 ... 나는 방법을 호출하고있다. –
조건이 충족되면 프록시 개체를 사용하고 모델에 위임 할 수 있습니다. – apneadiving