2017-09-07 1 views
2

Dans ExAdmin, comment faire pour que le champ de saisie d'un rendu booléen soit une case à cocher.
Par défaut (c'est-à-dire vide register_resource App.Reservation do end) il apparaît comme une case à cocher, mais j'ai besoin de personnaliser le formulaire et ne peut pas l'obtenir pour être une case à cocher lors de la définition dans la liste des entrées.Elixir ExAdmin, comment définir une entrée booléenne comme une case à cocher?

register_resource App.Reservation do 
    form reservation do 
    inputs do 
     input reservation, :is_booked 
    end 
    end 
end 

La documentation mentionne check_boxes et radio pour les groupes, mais pas pour un seul champs.

input reservation, :is_booked crée un champ de texte.

input reservation, :is_booked, type: :boolean crée un champ de texte qui indique true comme valeur par défaut.

aimerait avoir comme une case à cocher

+0

Que diriez-vous 'la réservation d'entrée,: is_booked, tapez:: checkbox'? (Je n'ai jamais utilisé ex_admin.) – Dogbert

+0

Il en résulte un grand champ de texte qui reste actif après l'avoir cliqué mais qui n'enregistre pas les séquences de touches. J'ai essayé un tas de types différents, check_boxes est ce qui est utilisé pour les groupes, la radio ne fonctionne pas non plus. Merci pour la suggestion – larskris

+0

Pourquoi ne pas essayer de "réparer" ce champ de texte qui dit "vrai" sur le côté du modèle? (Je me demandais simplement sur la base de phoenix et de rails) -> https://hexdocs.pm/phoenix_html/Phoenix.HTML.Form.html#summary – NeoVe

Répondre

0

Le problème que j'avais été que j'oublié de définir le type de champ dans le modèle. Une fois que j'ai fait ça, ça a marché!

schema "users" do 
    ... 
    field :active, :boolean, default: false 
    ... 
end 

dans admin user.ex

inputs do 
... 
    input user, :active 
... 
end 
+0

Qu'avez-vous écrit dans votre fichier ExAdmin? Le champ est déjà défini comme un booléen dans mon application – larskris

+0

Réponse mise à jour. – Philip