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