我有如下嵌套模型關係:在Rails中,如何交換現有對象的新對象?
- 國家(ID,姓名)
- 省(ID,COUNTRY_ID,名)
- 城市(ID,province_id,名)
- 省(ID,COUNTRY_ID,名)
我有validates_uniqueness_of
約束int在關係中的每個模型的名稱字段上,以及數據庫中名稱列上的唯一索引。
我想在驗證之前的某個時間點交換一個與現有記錄具有相同名稱的新對象。換句話說,如果用戶嘗試添加已添加的城市,省份和國家/地區組合,我希望國家/地區模型返回對相應現有模型記錄的引用,而不是在保存前驗證失敗。
我無法使用模型回調(after_initialize
,before_validation
等),我無法讓Country.find_or_initialize_by_name
與嵌套模型一起工作......有什麼建議嗎?
的「基於動態屬性的查找程序」部分。您能給我們提供一些關於您遇到麻煩的更多信息嗎?錯誤是否被拋出?如果是這樣,他們說什麼?你給我們提供的信息越多,幫助就越容易。 – sosborn 2011-05-30 02:40:19