私はbefore_filterがRailsのコントローラのためだけであることは知っていますが、私はモデルのためにこういうものを望みます:モデルのメソッドが呼び出されるときはいつでも、呼び出されたメソッドを実行する必要があるかどうかを判断するメソッド。概念的には、このような何か:私は@ website.method1を呼び出すとき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
だから、それは最初confirm_companyを呼び出します、と私はfalseを返す場合は、法1を実行しません。 Railsにはこのような機能がありますか?私は本当にこれが動作しますわからないんだけど、私は本当に今の時間を持っていけないようあなたは、それを試すことができ
あなたは、[Active Recordのコールバック](http://guides.rubyonrails.org/active_record_validations_callbacks.html#callbacks-overview)を意味ですか? – Mischa
はい、コールバックが必要なものです。しかし、利用可能なコールバックのどれもが私が何をしているのかをすることはできません。私は保存していません、検証、初期化...私はメソッドを呼び出しています。 –
条件が満たされている場合、プロキシオブジェクトを使用してモデルに委任することができます。 – apneadiving