Dois modelos, um STI e uma validação

Digamos que eu tenha duas tabelas - Produtos e Pedidos. Por uma questão de simplicidade, suponha que apenas um produto possa ser comprado por vez, para que não haja tabela de junção como order_items. Portanto, a relação é que o produto tem muitos pedidos e o pedido pertence ao produto. Portanto, product_id é um fk na tabela Order.

A tabela de produtos é STI - com as subclasses sendo A, B, C.

Quando o usuário solicita a subclasse Produto C, duas validações especiais devem ser verificadas nos campos Modelo do pedido order_details e order_status. Esses dois campos podem ser nulos para todas as outras subclasses de produtos (por exemplo, A e B). Em outras palavras, nenhuma validação precisa ser executada para esses dois campos quando um usuário compra A e B.

Minha pergunta é:

Como escrevo validações (talvez personalizadas?) No modelo Pedido para que o modelo Pedido execute apenas as validações para dois campos ITS - order_details e order_status - quando o fk_id da subclasse C do produto está sendo salvo na tabela de pedidos ?

questionAnswers(1)

yourAnswerToTheQuestion