2011-06-20 10 views
23

私は、レールアプリでbefore_saveを条件付きで作成しようとしていますが、動作していないようです。before_saveを条件付きにする方法はありますか?

before_save method_call_to_run if self.related_model.some_method_that_returns_t_or_f? 

「some_method_that_returns_t_or_fが」trueを返した場合、私はそれがそうでない場合、私はちょうどそれがbefore_saveを無視したいオブジェクトを保存する前に、それはメソッドを実行したいです。

使用できる

答えて

2

Rails 5では、私はブール論理を含むプライベートメソッドを定義し、シンボルとして渡しました(最後の部分は要件のようです)。言い換えれば:

before_save do_something, if: :private_boolean_method?

それは微妙な違いだがエレガントな解決策のように思えます。

関連する問題