comment ajouter une classe au composant d'entrée dans un wrapper dans simple_form 2
Je suis en train d'avoir class="text"
dans mon champs de saisie lors de l'utilisation d'un wrapper personnalisé appelé :allusion dans simple_form 2.0.0.rc
config.wrappers :hinted do |b|
b.use :input, :class => "text"
end
mais la sortie n'a pas la classe, j'ai essayé
:wrap_with => {:class => 'text'}
en vain
Personne ne sait comment c'est fait?
Merci!
source d'informationauteur Nik So
Vous devez vous connecter pour publier un commentaire.
Actuellement, il n'y aucun moyen de le faire. Vous pouvez utiliser le
defaults
options comme cela si vous voulez.Avec :input_html œuvres. Il est un peu maladroit.
Vous pouvez également définir toutes les entrées de tous les éléments du formulaire:
Mais comme vous l'imaginez, cela s'applique à tout.
Vous pouvez créer des éléments de formulaire:
Voir: https://github.com/plataformatec/simple_form/wiki/Adding-custom-input-components
Vous pouvez également créer un formulaire personnalisé constructeur:
Cette fonctionnalité est sur le point d'être fusionné à maîtriser dès maintenant (Oct. 2012):
https://github.com/plataformatec/simple_form/pull/622
Ensuite, vous pouvez faire quelque chose comme cela pour ajouter des attributs HTML directement sur le champ de saisie:
J'ai eu un problème similaire, mais il semble que cette fonctionnalité (les input_class un) a été fusionné après la version 3.0.0.
J'ai donc essayé de faire un monkey patch pour supporter au moins la
config.input_class = 'foo'
codeMon intention n'est pas de faire un grand singe patch (en fait j'aime bien cet article ici pour cela que - le singe patch), eh bien, c'est qu'une idée mais ça marche, maintenant je travaille avec le SimpleForm v2.1.3 et Bootstrap 4 - version alpha (le dernier n'est pas important ici, mais c'est juste pour une information)
voici le code pour le singe patch:
maintenant, vous pouvez faire quelque chose comme ceci:
Vous pouvez configurer cela dans simple_form initialiseur:
config.input_class = 'foo'
Ça fonctionne pour moi 🙂