1

私が開発しているアプリにはローカル データベースがありますが、一部のデータのために外部データベースにも接続する、ちょっと変わったシステムがあります。

要件の 1 つは、メーカーが外部データベースに見つからない場合、外部データベースが更新されるまでローカル データベースに一時的なエントリを作成することでした (私の管理下ではありませんが、通常は 48 時間以内に更新されます)。

したがって、私が作成したのは、メーカーが外部データベースに追加されるまで詳細を保持する temp_manufacturer テーブルでした。

製品がメーカーに属していることを除いて、それは正常に機能し、メーカーが外部データベースに登録されるまで製品を追加できないようです。私の製品モデルでは

class Product < ActiveRecord::Base
        validates_uniqueness_of :sku
        validates_presence_of :manufacturer

    has_many :カテゴリ
    所属先:メーカー
終わり

もちろん、ここでの問題は、manufacturer_id を渡していますが、manufacturer_id が外部データベースのメーカー テーブルにないことです。

私がやりたいと思っていたのは、次のようなものでした

validates_presence_of :manufacturer || :temp_manufacturer

所属先:メーカー || :temp_manufacturer

しかし、これは可能ではないようです。

このような親子関係を「偽造」する別の方法はありますか?

残念ながら、アプリからメーカー テーブルを更新することはできませんが、新しいメーカーに使用される ID を取得することはできます。

4

0 に答える 0