1
这是我的命......当试图添加一键像这样:的Rails 3 - HABTM不更新连接表与<<
category.site_ids << 1
category.save
它不保存。但是当完全覆盖时,它可以工作:
category.site_ids = [1]
category.save
我在这里丢失了什么?
这是我的命......当试图添加一键像这样:的Rails 3 - HABTM不更新连接表与<<
category.site_ids << 1
category.save
它不保存。但是当完全覆盖时,它可以工作:
category.site_ids = [1]
category.save
我在这里丢失了什么?
简单的答案是,轨道不支持它:)这听起来像是聪明的答案,但让我解释一下。首先,here's the documentation。我们想认为category.site_ids
是一个常规数组,但它不是。为了让您像数组一样对待它,并在后台拥有所有数据库魔术(记录创建,更新,销毁),rails开发人员必须重写数组方法。红宝石数组有几十种方法,并且使得收集协会(有很多,habtm)做所有这些都是不切实际的。
现在,你可以做category.sites << site
,那可行。所以对于id的做法没有任何技术问题。这可能是一个选择,或者它可能是没有人编码它:)
谢谢,海梅。我正在检查你昨天链接到的文档,并一直认为我错过了一些东西......你确定了我以前做过的事情(“对象”)但忘记了。再次感谢。 – TMB 2010-10-19 15:42:34
很高兴能帮到你! – 2010-10-19 22:40:34