我有如下嵌套模型关系:在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