ActiveRecord support Models and Associations for entities that reside in a JSONB column

I’m considering starting a new PR to update ActiveRecord and wanted to check here first to see if it is a viable feature. In Short I would like to be able to define models for JSONB objects and have them supported as first class associations just like foreign-key style associations.

This would provide the ability for developers to store objects in JSONB while still enjoying the benefits of ActiveRecord such as association validation.

I am currently attempting to accomplish this using ActiveModel::Model and the Attributes API, but find a few things are more difficult to support such as validating my JSONB objects when the “Parent” (the model they ‘belong_to’) is saved.

Tentatively I’m thinking of something like has_many :posts, json: true or something like that, though of course I’m open to feedback in any regard.

Would this be something I should look into or are there technical/philosophical reasons why this would not work? Thanks in advance.

  • Josh Marchello

Hi Josh!

There is a number of gems that can do this (or similar) thing for you:

Thanks Dmitry, your store_model gem looks particularly well done. I’ll give it a try!