相关疑难解决方法(0)

我应该如何在after_create回调中编写多个条件

我有一个模型中的方法,在创建后调用

after_create :generate_insurer_recovery_invoice, if: :insurance_recovery_batch?
Run Code Online (Sandbox Code Playgroud)

我应该如何在此回调中编写另一个条件?

model ruby-on-rails callback

7
推荐指数
2
解决办法
2527
查看次数

Rails回调:如果在回调中多次使用,请使用

我正在使用Rails 3.2.19,if在回调中使用多个条件作为条件时遇到问题。

以下混合双条件有效(评估first_condtion和second_condition)

after_save :after_save_method, unless: :first_condition?, if: :second_condition?

但是,如果我使用两个if条件,则after_save_method每次都会执行。(似乎只采取了最后的条件)

after_save :after_save_method, if: :first_condition?, if: :second_condition?

我还尝试将两个条件与'&&'结合使用,但没有用。

after_save :after_save_method, if: :first_condition? && :second_condition?

为什么不能if多次使用?

apidoc在http://edgeguides.rubyonrails.org/active_record_callbacks.html#multiple-conditions-for-callbacks中提供了一个if和if的示例,但没有说明不允许两个“ if ”。

为此,我的解决方案是将所有必要的代码放入一个方法中,并仅对该方法进行求值,但我只是想确保这些if内容。

conditional if-statement ruby-on-rails callback

5
推荐指数
3
解决办法
2952
查看次数