gpt4 book ai didi

ruby-on-rails - Rails 回调 : Use if more than once as conditional in a callback

转载 作者:行者123 更新时间:2023-12-04 03:36:44 25 4
gpt4 key购买 nike

我正在使用 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 有一个例子,除非和 if 在 http://edgeguides.rubyonrails.org/active_record_callbacks.html#multiple-conditions-for-callbacks ,但没有说不允许两个“如果”。

我的解决方案是将所有必要的代码放入一个方法中,并且只评估该方法,但我只想确定 if东西。

最佳答案

我建议您创建一个知道您想要的逻辑的私有(private)方法:

after_save :after_save_method, if: :first_condition_and_second_condition?

private

def first_condition_and_second_condition?
first_condition? && second_condition?
end

关于ruby-on-rails - Rails 回调 : Use if more than once as conditional in a callback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25537260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com