gpt4 book ai didi

ruby-on-rails - 是否可以将参数从模型中的 before_create 传递给?

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

我有一个模型,例如:

class Account < ActiveRecord::Base

before_create :build_dependencies

def build_dependencies
# use nifty params to build this related object
build_nifty_object(params)
end

初始参数通过 Account#new 表单上的隐藏表单标签发送。

但是没有理由/需要将这些参数保存到帐户模型中。我只需要它们在 NiftyObject 模型中。

有没有聪明的方法将这些参数传递给 before_create 方法?或者任何其他可能完成相同任务的替代方案?

谢谢!

最佳答案

我相信事件记录回调循环在大多数情况下都会伤害您,包括在内。我建议您使用一个服务对象来协调 Account 和 nifty-object 的创建,而不是使用 before_create。

我假设您希望 nifty-object 了解该帐户,因此我将其传递给它的 create 方法。

class CreatesAccount
def self.create(params)
account = Account.new(params)
return account unless account.valid?
ActiveRecord::Base.transaction do
account.save!
NifyObject.create(params, account: account)
return account
end
end
end

关于ruby-on-rails - 是否可以将参数从模型中的 before_create 传递给?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11229150/

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