has_many :through z walidacją non empty

W skrócie, mam model Product i Category połączone wiele do wielu przez model Categorization. W dodatku, w modelu Product mam walidację, która wyrzuca błąd gdy categories jest puste.

W formularzu Produktu kategorię wybieram przez zaznaczanie checkboxów i wrzucanie id do category_ids (tak jak tu) Problem w tym, że gdy edytuję Product i odznaczę wszystkie kategorie, faktycznie produkt się nie zapisze, ale kategorie i tak zostaną wyrzucone.

Oczywiście mogę w kontrolerze sprawdzać czy category_ids nie jest puste i już wtedy rzucić błąd, ale czy jest jakiś ładniejszy sposób na zrobienie tego?

Po prostu wrzuć tworzenie Categorizations do after_save. Będzie całkiem ładnie