arrays model ruby-on-rails-4 activeadmin ruby-2.0

arrays - ¿Cómo guardar una matriz en Active Admin Rails 4?



model ruby-on-rails-4 (2)

Estoy usando Active Admin en Rails 4. En mi modelo, tengo un campo que es un tipo de matriz Postgres cuando estoy creando el objeto que está pasando en segundo plano, pero no está guardando en la base de datos. Entonces, ¿qué tengo que hacer para guardar el campo de la matriz en la base de datos a través de Active Admin?

Gracias


Has pirateado cosas, ya que parece que el administrador activo no lo admite de la caja.

Aunque esta respuesta es antigua, funciona: ¿Cómo se manejan los campos de edición serializados en un recurso de Active Admin?

Aquí hay un resumen de cómo manejé esta situación. Agregué un acceso al modelo que puede convertir la matriz en una cadena unida por un salto de línea y dividirla de nuevo en una matriz.

# app/models/domain.rb class Domain < ActiveRecord::Base serialize :names, Array attr_accessor :names_raw def names_raw self.names.join("/n") unless self.names.nil? end def names_raw=(values) self.names = [] self.names=values.split("/n") end end

luego, en mi recurso administrativo para el dominio, en lugar de usar el campo: names, utilicé el campo: names_raw. establecer este valor guardará los nombres Array con los nuevos valores.

# app/admin/domains.rb form do |f| f.inputs "Domain" do f.input :names_raw, :as => :text end f.buttons end


Aquí hay una versión similar pero aún más simple de una solución si no necesita una interfaz de usuario elegante para el administrador.

# app/model/thing.rb def some_array_column= items if items.is_a? String super items.split(" ") else super items end end

Y

# app/admin/thing.rb ActiveAdmin.register Thing do index do column "Things" { |t| (t.some_array_column || []).join(" ") } end end