Может ли ActiveRecord HasMany / принадлежит принадлежать не-PrimaryKey столбцу для отношения? - PullRequest
0 голосов
/ 17 ноября 2009

Мне бы хотелось иметь иерархию родитель-потомок И я хотел бы иметь понятие "идентификатор серии" на родительском элементе.

Таким образом, у родительского элемента (если вы его обновили) истекает старый уникальный ключ. Сохраните идентификатор серии и вставьте вторую строку.

Я бы хотел, чтобы дети "повесили" этот идентификатор серии, а не уникальный идентификатор.

Знаете ли вы, может ли BelongsTo связываться со столбцом, не относящимся к первичному ключу (но уникальному через GUID)?

Родитель: UniqueId (guid), SeriesId (guid), Имя, Описание Ребенок: UniqueId (guid), ParentId (всегда соединяется с UniqueId-Above), Имя, Описание.

Я знаю, что отношения между внешними ключами действительно должны иметь "ключ" с одной стороны отношения, однако, по моим GUID они похожи на ключи ... но на самом деле это не ключи.

Это не имеет большого значения, но если я «истекаю» у родителя, обновляя его метаданные, мне бы не хотелось «копировать» всех потомков в новую копию родителя.

Я пытаюсь сделать что-то, что не может произойти?

1 Ответ

0 голосов
/ 17 ноября 2009

Существует опция для assign_to, которая позволяет указать отношение:

:foreign_key
    Specify the foreign key used for the association. By default this is guessed to be the name of the association with an "_id" suffix. So a class that defines a belongs_to :person association will use "person_id" as the default :foreign_key. Similarly, belongs_to :favorite_person, :class_name => "Person" will use a foreign key of "favorite_person_id".
...