Может модель “belongs_to” либо/либо больше чем одна модель?

DBA А не имеет никакой свободы внести изменения в модель данных, не вынуждая Вас изменить Ваш скомпилированный код. С хранимыми процедурами можно скрыть эти виды изменений до степени, так как список параметров и набор (наборы) результатов, возвращенный из процедуры, представляют свой контракт, и внутренности могут переехаться, настолько долго поскольку тот контракт все еще выполняется.

я действительно не вижу это как являющееся преимуществом. Способность изменить что-то в изоляции могла бы звучать хорошей в теории, но просто потому что изменения выполняют контракт, не означает, что это возвращает корректные результаты. Чтобы быть в состоянии определить, что корректные результаты - Вы, контекст потребности и Вы получает тот контекст от кода вызова.

11
задан aaronrussell 9 November 2009 в 12:49
поделиться

1 ответ

Вы можете использовать полиморфную связь .

Ваш банковский счет будет иметь полиморфную связь.

class BankAccount
    belongs_to :people, :polymorphic => true
end

А две (или более) другие модели будут иметь полиморфную связь. простое отношение has_many .

class Member
    has_many :bank_accounts, :as => :people
end

Затем в своем банковском счете вы можете использовать @ account.people , что даст вам либо Участника , либо Team , в зависимости от того, что это такое.

А в вашей модели Member или Team вы можете получить соответствующий банковский счет с помощью @ member.bank_accounts .

9
ответ дан 3 December 2019 в 10:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: