我有一个奇怪的系统,我正在开发的应用程序有一个本地数据库,但也连接到外部数据库的一些数据。
其中一个要求是,如果在外部数据库中找不到制造商,则在本地数据库中创建临时条目,直到可以更新外部数据库(不在我的控制之下,但通常在48小时内发生) 。
因此,我创建的是一个temp_manufacturer表,它将保留详细信息,直到将制造商添加到外部数据库。
工作正常,但产品属于制造商,除非制造商在外部数据库中,否则我无法添加产品。在我的产品型号中我有
class Product < ActiveRecord::Base validates_uniqueness_of :sku validates_presence_of :manufacturer has_many :categories belongs_to :manufacturer end
当然,这里的问题是虽然我传递的是manufacturer_id,但manufacturer_id不在外部数据库的制造商表中。
我希望做的是像
validates_presence_of :manufacturer || :temp_manufacturer belongs_to :manufacturer || :temp_manufacturer
但似乎不可能。
还有另一种'伪造'父母的方式&gt;像这样的孩子关系?
不幸的是,我无法从我的应用程序更新制造商表格,但我能够获得将用于新制造商的ID。