Думаю, мне нужно использовать STI в Rails.Рельсы STI и настройка строки «type»
Вот мой класс:
class Person < ActiveRecord::Base
end
class Landlord < Person
end
и таблица людей имеет :type
столбец, это строка.
Итак, что я ожидаю увидеть в таблице, заключается в том, что каждая строка, которая является Лицом, имеет тип, заданный как «Лицо», и каждый Арендодатель имеет тип, заданный «Арендодатель». Однако это не то, что я вижу. Каждый Арендодатель имеет тип, установленный на «Арендодатель», но у каждого Лица свой тип, равный нулю. Очень хорошо, что рельсы работают, но я просто искал подтверждения.
спасибо. – TheDelChop
Почему это работает так? – ioquatix
@ioquatix, потому что, как говорится в ответе, тип базового класса имеет значение null. Как правило, у вас должно быть «class Person» с подклассами «Арендатор» и «Landlord». Родительский класс должен содержать методы/проверки, применимые к нему и его подклассам. Пока Rails просматривает имя подкласса и отмечает его как тип. – onebree