12
這裏是情況。如何將Mongoid foreign_key保存爲整數或保留父模型有Integer id
user embed_one profile
profile belongs_to city
我已填充一個城市表
id as Integer
name as String
我現在做 user.update_attributes(:profile_attributes{:city_id=>"5"})
模擬瀏覽器表單提交。然後我檢查user.profile
我看到city_id存儲爲字符串。這使我的user.profile.city
給零。
我想知道什麼是在這裏做正確的事情。我應該讓我的城市ID是字符串還是BSON對象?或者我應該嘗試攔截update_attributes使mongoid商店city_id爲整數?我使用Integer作爲城市id的原因是因爲我認爲通過Integer搜索比搜索字符串更快。此外,我還擁有州和城市表格,我希望以可預見的方式匹配ID,所以我不想使用BSON隨機數鍵。
這看起來很有希望。但如果問題涉及許多表和許多屬性,可能會添加很多方法。如果我可以自動將字符串參數轉換爲整數,如果我將這些屬性聲明爲整數將會很好。也許猴子修補到Mongoid? – benzhang 2012-02-01 19:28:45
bson對象有什麼問題? – rwz 2012-02-02 11:17:34
我正在移植城邦表格。我希望整數是狀態的id,所以我的城市指的是正確的狀態。我想我可以使用一個單獨的屬性作爲外鍵然後我不介意bson作爲id。 – benzhang 2012-02-06 01:11:58