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
davy.ai
Parece que te falta el bloque
f.has_many
paravariant_sizes
en el formulario devariant_colors
. Intenta agregar el siguiente código a tu formulario: