En el tutorial anterior vimos como utilizar los tipos de datos hstore de postgres para guardar directamente un hash, en este tutorial vamos a ver como configurar activeadmin para poder editar de forma sencilla los datos guardados en este campo.

Paso 1: Agregar la gema activeadmin hstore editor

El truco consiste en utilizar la gema activeadmin_hstore_editor
que técnicamente hace todo el trabajo, una vez agregada la gema al gemfile tenemos que correr bundle

 bundle 

Paso 2: Configurar el initializer para incluir los assets del editor

Ahora debemos agregar dentro del archivo config/initializers/active_admin.rb

config.register_stylesheet 'active_admin/hstore_editor.css'
config.register_javascript 'active_admin/hstore_editor.js'

Paso 3: Modificar el admin del recurso para agregar el editor al formulario

En mi caso yo tengo un recurso creado para los usuarios, o sea previamente corrí la línea

rails generate active_admin:resource user

y dentro del archivo app/admin/user.rb agregué

    permit_params :favs

    hstore_editor

  # specify the type does not necessarily
    form do |f|
      f.inputs do
      f.input :favs, as: :hstore
      end

    f.actions
  end

y con eso si visitamos el panel de administrador en la sección de usuarios e intentamos crear un usuario o modificarlo observaremos que tenemos un editor para agregar campos de forma fácil a nuestra columna que es del tipo hstore.