Como Ahmad dijo que desea evitar crear clases solo para eso.
Así que no hay otra solución:
En su configuración regional active_admin.en.yml (o lo que sea) sólo tiene que añadir estas dos líneas:
en:
"true": Yes
"false": No
A continuación, en el archivo app/admin/my_model.rb de ejemplo para mostrar Sí/No a la página de índice, simplemente hacer esto:
column :published do |post|
t(post.published.to_s)
end
por lo que sólo tiene que dar vuelta a su cadena de valor booleano y utilizar la "t" de función (traducción i18n) para Rails i buscar En sus configuraciones regionales, presente la traducción correcta y reemplace 'verdadero/falso' por 'Sí/No'.
Creo que es una mejor solución, sigues el "Rails Spirit" y es más fácil tener un panel active_admin en diferentes idiomas.
El inconveniente (porque no hay Allways uno) es que usted tendrá que utilizar la función de "t" cada vez que se desea reemplazar por booleanos Sí/No ...
Sería genial hacer una solicitud de extracción a la gema active_admin que ofrece la posibilidad de reemplazar booleanos simplemente cambiando el archivo yml como lo hice.
Pero ... hasta que termine, mi solución funciona bien. :)
No sabe por qué esto no ha sido upvoted sin embargo, parece que la solución más sencilla. Siguiendo su ejemplo, hice: 'column: us_citizen, Proc.new {| obj | obj.us_citizen? ? 'Sí': 'No'} ' – DemitryT