gpt4 book ai didi

ruby-on-rails - 如何从克隆的 ActiveRecord 模型中删除只读状态?

转载 作者:行者123 更新时间:2023-12-03 15:45:06 25 4
gpt4 key购买 nike

我正在我的应用程序中编写一个功能,用于克隆整个事件记录模型及其层次结构。这样我就不会意外地更改我在关系上使用 #readonly 功能的原始记录,这很棒。

我正在使用 #clone 方法复制这些原始对象,但似乎无法删除克隆对象的只读状态,这意味着我无法保存我创建的新对象。

如果我在不使用 #readonly 的情况下加载原始对象,那么它可以正常工作,但是我冒着原始记录被意外删除的风险。

如何删除只读状态?

最佳答案

使用 instance_variable_set?

my_obj = Object.where(:stuff, :readonly => true)
my_obj.x = "y"
my_obj.save! #readonly exception
my_obj.send(:instance_variable_set, :@readonly, false)
my_obj.save! #succeeds

我不确定是否有更清洁的方法!

关于ruby-on-rails - 如何从克隆的 ActiveRecord 模型中删除只读状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9910713/

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