rails admin - instalar - ¿Cómo puedo personalizar solo un campo en rails_admin?
rails trestle (4)
Tengo un campo para el cual rails_admin
genera un campo de texto, pero me gustaría usar una etiqueta <select>
lugar. Personalicé el campo así, en mi inicializador:
RailsAdmin.config do |config|
config.model User do
update do
field :state do
partial "user_state_partial"
end
end
end
end
Lo he probado, y funciona. El problema es que al hacer esto (también probé con un bloque de edición), el único campo que queda es el que estoy personalizando. ¿Hay alguna manera de decirle a rails_admin que simplemente asuma los valores predeterminados para los otros campos?
Los documentos actuales dicen que puedes, así:
field :name do
# snipped specific configuration for name attribute
end
include_all_fields # all other default fields will be added after, conveniently
exclude_fields :created_at # but you still can remove fields
... pero todavía elimina los subformularios de asociación. (Puede volver a agregar elementos para los ítems con "field: association_id" (no "field: association") pero no estoy seguro de cómo agregar nuevamente los subformularios has_ *.
Normalmente hago include_all_fields, luego config config personalizado para mi campo y luego agrego exclude_fields (para campos como id y timestamps).
Una solución mejor (y más corta) es usar la sintaxis ''configurar'' en lugar de ''campo''. Al usar configure, rails_admin usará los valores predeterminados para todos los demás valores.
Así por ejemplo, usando lo siguiente:
RailsAdmin.config do |config|
config.model User do
update do
configure :state do
partial "user_state_partial"
end
end
end
end
... permitirá que RailsAdmin use el parcial indicado para: state, pero usará los valores predeterminados para todos los demás campos.
Más información se puede encontrar en: Rails Admin wiki
Una vez que haya definido un campo, debe definir todos los campos que desea usar. El valor predeterminado es todos los campos.
RailsAdmin.config do |config|
config.model User do
update do
field :name
field :surname
field :state do
partial "user_state_partial"
end
end
end
end