Rails STI и настройка строки «тип» - PullRequest
4 голосов
/ 01 февраля 2011

Я думаю, что мне нужно использовать STI в Rails.

Вот мой класс:

class Person < ActiveRecord::Base
end

class Landlord < Person
end

, а в таблице сотрудников есть столбец :type, представляющий собой строку.

Итак, что я ожидаю увидеть в таблице, так это то, что для каждой строки, которая представляет собой Person, установлен тип "Person", а для каждого арендодателя установлен тип "Landlord". Однако это не то, что я вижу. Каждый Арендодатель имеет тип, установленный на «Арендодатель», но все Персона имеют свой тип, установленный на ноль. Это очень хорошо может быть способ, которым рельсы работают, но я просто искал подтверждение.

Ответы [ 2 ]

11 голосов
/ 01 февраля 2011

Это, действительно, как работает ИППП.Базовый класс имеет тип NULL в базе данных (или nil в ruby).

5 голосов
/ 21 июля 2011

Вы можете решить , если хотите, добавив столбец type со значением по умолчанию "Person".

...