es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Formulario doble anidado de Rails con Active Admin.

Tengo las siguientes asociaciones:

la variante tiene muchos colores y los colores tienen muchas tallas. Estoy usando la gema active admin para gestionar las actividades de la parte trasera. Mis modelos se ven así:

class Variant < ApplicationRecord

has_many :variant_colours, dependent: :destroy

accepts_nested_attributes_for : variant_colours, allow_destroy: true
end

class VariantColor < ApplicationRecord
belongs_to :variant

has_many :variant_sizes, dependent: :destroy

accepts_nested_attributes_for :variant_sizes, allow_destroy: true
end

class VariantSize < ApplicationRecord
belongs_to :variant_color
end

Está construyendo el formulario de colores de la variante con los campos dados, pero no está construyendo el formulario de tallas de los colores de la variante. Construir significa que no se rellenan los campos en el formulario (UI).

formulario do |f|
f.inputs do
f.input :nombre
f.input :producto
f.input :sku
f.input :cantidad_en_stock
f.inputs do
f.has_many :variant_colors, heading: ‘Colores de Variante’,
allow_destroy: true,
new_record: true do |color_form|
color_form.input :color
color_form.input :codigo_sku
color_form.input :disponibilidad
color_form.inputs do
color_form.has_many :variant_sizes, heading: ‘Tallas de Variante’,
allow_destroy: true,
new_record: true do |size_form|
size_form.input :talla
size_form.input :codigo_sku
size_form.input :disponibilidad
end
end
end
end
end
f.actions
end

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que te falta el bloque f.has_many para variant_sizes en el formulario de variant_colors. Intenta agregar el siguiente código a tu formulario:

    f.has_many :variant_sizes, heading: 'Tallas de Variante',
                                allow_destroy: true,
                                new_record: true do |size_form|
      size_form.input :size
      size_form.input :sku_code
      size_form.input :stock
    end
    

Comments are closed.