Вы можете использовать thing_id, thing_class, content_id, content_class только в таблице соединений и выполнять поиск с условиями, habtm будет невозможным.
«2,« Разработать »,« Страница », 2»
«2,« Придумай »,« Реклама », 4»
"2, 'AnotherThing', 'Page', 2"
И затем получить все страницы для вещи из таблицы соединений, где id = self.id AND thing_class = self.class.name AND contant_class = Page.class.name
Если вам нужно использовать ассоциацию habtm, вы можете использовать ассоциацию STI + 1: 1, но это еще больше испортит ситуацию