我在这里有一个奇怪的系统,我正在开发的应用程序有一个本地数据库,但也连接到外部数据库以获取一些数据。
其中一个要求是,如果在外部数据库中找不到制造商,它会在本地数据库中创建一个临时条目,直到可以更新外部数据库(不在我的控制之下,但通常在 48 小时内发生)。
所以,我创建的是一个 temp_manufacturer 表,它将保存详细信息,直到将制造商添加到外部数据库中。
这很好用,除了产品属于制造商之外,我似乎无法添加产品,直到制造商在外部数据库中。在我的产品模型中,我有
类产品 < ActiveRecord::Base validates_uniqueness_of :sku validates_presence_of :制造商 has_many :类别 属于_to:制造商 结尾
当然,这里的问题是,虽然我传递了一个manufacturer_id,但manufacturer_id 不在外部数据库的manufacturer 表中。
我希望做的是
validates_presence_of :制造商 || :temp_manufacturer 属于_to :制造商|| :temp_manufacturer
但这似乎是不可能的。
还有另一种方法可以像这样“伪造”父母>孩子的关系吗?
不幸的是,我无法从我的应用程序更新制造商表,尽管我能够获取将用于新制造商的 id。