2017-09-28 17 views
0

J'ai une entrée basée sur le temps que j'aimerais afficher comme une entrée contre deux par défaut. J'ai trouvé la solution à cela était d'ajouter html: true à mon entrée. Malheureusement, cela modifie la classe de conteneur parent de l'entrée de form-control à form-inline. Existe-t-il un moyen de changer cela à partir de SimpleForm sans lui donner explicitement la classe dans le hachage des options html?SimpleForm w. Bootstrap - La saisie passe à "form-inline" lors de la définition de "html5: true"

Répondre

0

aller à simple_form_bootstrap.rb et vérifier snip

config.wrappers :multi_select, tag: :div, class: 'form-group', error_class: 'has-danger' do |b| 
    b.use :html5 
    b.optional :readonly 
    b.use :label 
    b.wrapper tag: :div, class: 'form-inline' do |ba| 
     ba.use :input, class: 'form-control' 
     ba.use :error, wrap_with: { tag: :div, class: 'invalid-feedback' } 
     ba.use :hint, wrap_with: { tag: :small, class: 'form-text text-muted' } 
    end 
end 

il y a la forme en ligne que vous recherchez, notez que l'emballage par défaut pour le temps et les dates est multi_select

config.wrapper_mappings = { 
    check_boxes: :horizontal_radio_and_checkboxes, 
    radio_buttons: :horizontal_radio_and_checkboxes, 
    file: :horizontal_file_input, 
    boolean: :horizontal_boolean, 
    datetime: :multi_select, 
    date: :multi_select, 
    time: :multi_select 
} 
+0

par En passant, c'est une de mes configurations, donc il pourrait y avoir des différences. – Alexis

+0

En fait, la mine se ressemble. Est-ce que je supprimerais simplement la paire clé/valeur du hachage ou y a-t-il une valeur qui l'afficherait comme une simple entrée? –

+0

vous pouvez modifier le formulaire en ligne pour celui que vous voulez et garder l'option true de html ou créer un wrapper personnalisé et le définir avec quelque chose comme 'f.input: date, wrapper:: my_custom_wrapper' – Alexis