J'ai un système où je veux un identifiant global pour les objets dans les rails. L'identification globale est un numéro (ou alpha-numérique) qui est partagé par un ensemble d'objets. Lorsque vous sauvegardez un objet, vous insérez une valeur d'identification globale qui est basée sur un objet et un object_id.
Donc, par exemple :
location id=3
id=15
arc_type='location'
arc_id=3
arc_value=loc-3
La question est donc de savoir si je peux faire un has_one en utilisant une clé étrangère composite de object_type et object_id. Ou est-ce que j'aurais besoin d'une clé étrangère comme la valeur de l'objet, un nom raccourci et l'identifiant de l'objet original.
Ou peut-être utiliser un scénario différent comme un hachage md5 comme clé étrangère.
Serait-ce un candidat pour faire une association polymorphe ? Il semble que cela serait plus approprié pour les associations has_many plutôt que has_one (comme les images ou les commentaires). Quelqu'un a-t-il déjà fait un has_one avec une association polymorphe ?
thx
edit - il semble que le nom de l'object_id soit une mauvaise idée, j'ai donc substitué arc_ qui est les initiales du projet.