Когда вы изменяете значение комплексного свойства, такого как JSON, через свой собственный API (в вашем случае # []), система грязного отслеживания в DM, к сожалению, игнорируется, что означает, что ваш ресурс не будет помечен как грязный. Это не тривиальный вопрос, но рано или поздно это будет сделано.
Пока что в качестве обходного пути вы можете переопределить все значение мета-свойства и увеличить значение post_count, например:
self.parent.meta = parent.meta.merge("post_count" => parent.meta.fetch("post_count", 0)+1)
Я понимаю, что это не выглядит красиво, но другого способа сделать это сейчас нет. Вы можете инкапсулировать этот код в метод, подобный increment_post_count
, чтобы сделать его правильным.
Также обратите внимание, что вы должны использовать строковые ключи, а не символы.