ruby-on-rails - 克隆续集模型

标签 ruby-on-rails ruby clone sequel

我有一个代表包含大量条目的定价表的模型,我想提供使用现有条目的值创建新定价的可能性。

有谁知道如何做到这一点,然后使用 Sequel 吗?

我尝试了 dup 和 clone,但在这两种情况下,现有模型中的 id 仍然存在,因此将更新现有条目。

如果我尝试手动设置 id,我会收到以下错误:

Sequel::InvalidValue: nil/NULL is not allowed for the id column

所以我需要找到一种方法来创建一个模型,该模型是新的但具有预填充值,而无需手动在代码中设置它们。

有什么想法吗?

最佳答案

找到了:

new_pricing = Pricing.new(oldprice.attributes.tap{|attr| attr.delete("id")})

我从旧模型中获取属性作为哈希,然后删除 id 并通过传递除 id 之外的属性来创建新模型。

关于ruby-on-rails - 克隆续集模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13129513/

相关文章:

c# - 如何克隆微软图表控件?

ruby-on-rails - 如何在 ruby​​ on rails 中获取 Controller 和 Action 列表?

ruby-on-rails - 无法访问 attr_accessor 定义的变量

javascript - 带 Rails 的 Stripe 4 : This customer has no attached payment source

java - 如何发送列表的值而不是引用(其中列表是 map 的值)?

linux - linux 内核中的 clone() 系统调用定义在哪里?

ruby-on-rails - 部署到 heroku 时出错

ruby-on-rails - 如何下载 URL 中可用的所有图像?

ruby - Ruby 中的反射。通过给定的类名实例化一个对象

ruby - 工厂女工——理解协会