В ruby у вас есть атрибут с именем "type", который является классом объекта. Rails хранит это в базе данных в столбце с именем type. Итак, если у меня есть несколько «типов» блогов, я могу сделать что-то вроде этого
def create
@blog = Blog.new(params[:blog])
@blog[:type] = params[:blog][:type]
# ...
end
Если я добавлю кого-то вроде этого, а затем загрузлю его и задам его класс (например, на консоли), мне ответят правильное имя класса.
Однако, когда я сохраню его впоследствии, рельсы будут запускать только валидаторы суперкласса , а не те, которые я определил в подклассе.
Как заставить рельсы запускать валидаторы подкласса?