私は、ユーザーがサービスタイプのインスタンスに保存されているユーザー定義の資格情報で多くのWebサービスの1つを呼び出せるようにするレールアプリケーションを構築しています。ユーザーは、サービスモデルのインスタンスを作成します。このインスタンスは、別のモデルのインスタンス(サービスタイプを定義しています)です。それが難しいのは、異なるサービスタイプがあるということです。したがって、Serviceインスタンスは、さまざまな可能なモデルのうちの1つにリンクする必要がありますが、これを行う方法がわかりません。Rails:潜在的な他のモデルのリストの1つを参照するモデル
例えばユーザに属するサービスモデルは、唯一以下のクラスのにhas_oneの参照を持っていますが:
- ServiceType1
- ServiceType2
- ServiceType3
私はオプションフィールドとしてモデルを持つ参照フィールドを持つことができる方法を知りたい。
なり、次の仕事?:
- Service.reference - 正しいServiceTypeXモデル
を選択したり、それを管理することができ - ServiceTypeXインスタンス
将来的にはさまざまなサービスタイプを許可したいので、それぞれの参照フィールドを持つことが最良の方法ではありません。
あらかじめ不明確な説明をしてお詫び...明確に説明するのは非常に難しいです。
これは私に(http://guides.rubyonrails.org/association_basics.html#polymorphic-associations)[ポリモーフィックな関連]のように聞こえます。 – spickermann
それを読んで、それは正しい解決策であるように見えます。ありがとう! – pronoob