gpt4 book ai didi

ruby-on-rails - 在 Rails 4 上注册多个 before_save 条件回调

转载 作者:行者123 更新时间:2023-12-04 05:56:25 24 4
gpt4 key购买 nike

我有两个不同的计算要对我的模型进行两个不同的领域。保存前。

Class Event < ActiveRecord::Base
#some relations
before_save :method1, unless: :some_field_1?
before_save :method2, unless: :some_field_2?

def method1
some_field_1 = some_other_field / 2
end

def method2
some_field_2 = some_field_1 / 3
end
end

我遇到的问题是当调用 method2 时 some_field_1 为空。我的猜测是像我所做的那样声明 before_save 回调是错误的。
  • 第二个 before_save 是否覆盖第一个?
  • 回调是否按照声明的顺序执行?

  • 我知道我可以在没有条件和问题解决的情况下将这两种方法合二为一,但我更喜欢有条件回调。我想知道正确的做法。文档对此不太清楚。

    非常感谢!

    编辑

    备查。代码没问题。问题出在其他地方(DB)!

    最佳答案

    Does the second before_save overrides the first?





    Does the callbacks are executed in the same order in which they are declared?



    是的

    由于您的属性不是 bool 值,您可能不应该使用问号。尝试:
    before_save :method1, unless: :some_field_1
    before_save :method2, unless: :some_field_2

    关于ruby-on-rails - 在 Rails 4 上注册多个 before_save 条件回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29169345/

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