gpt4 book ai didi

ruby-on-rails - Rails 3 - HABTM 不使用 << 更新连接表

转载 作者:行者123 更新时间:2023-12-04 06:43:27 25 4
gpt4 key购买 nike

这让我很伤心......当试图添加一个像这样的键时:

category.site_ids << 1
category.save

它不保存。但是当完全覆盖时,它可以工作:
category.site_ids = [1]
category.save

我在这里缺少什么?

最佳答案

简单的答案是 rails 不支持它:) 这听起来像是一个聪明的答案,但让我解释一下。一、here's the documentation .

我们要认为category.site_ids是一个常规数组,但它不是。为了让您像对待数组一样对待它并在幕后拥有所有数据库魔法(创建、更新、销毁记录),rails 开发人员必须覆盖数组方法。 ruby 中的数组有几十个方法,让集合关联(有很多,habtm)做所有这些是不切实际的。

现在,你可以做 category.sites << site ,这有效。所以对 id 做同样的事情没有技术问题。这可能是一种选择,也可能是没有人对其进行编码:)

关于ruby-on-rails - Rails 3 - HABTM 不使用 << 更新连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3964788/

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