2017-02-02 3 views
0

Um etwas Markup in einen Booleschen Eingang (Checkbox) hinzufügen, Ich versuche, eine benutzerdefinierte Eingabe wie folgt zu erstellen:Customizing simple_form boolean Eingang

class BooleanWithIconInput < SimpleForm::Inputs::BooleanInput 
    def input(wrapper_options) 
    super 
    end 
end 

Das Problem ist, dass dieser Eingang bereits anders angezeigt wird, da Es fehlt ein <div class="checkbox"> Container und es fügt Klassen wie control_label und form_control hinzu.

Warum passiert das und wie kann ich dasselbe Verhalten erreichen?

Antwort

1

in der initializers/simple_form.rb Datei können Sie bereits einige Anpassungen vornehmen: Zum Beispiel Standard

# Define the way to render check boxes/radio buttons with labels. 
    # Defaults to :nested for bootstrap config. 
    # inline: input + label 
    # nested: label > input 
    config.boolean_style = :nested 
# You can wrap a collection of radio/check boxes in a pre-defined tag, defaulting to none. 
    # config.collection_wrapper_tag = nil 
    # You can wrap each item in a collection of radio/check boxes with a tag, 
    # defaulting to :span. 
    # config.item_wrapper_tag = :span 

wäre, wenn dies nicht, dass Sie die simple_form Dokumentation hilft hat einige detaillierte Dokumente, wie Markup zu individualisieren.

https://github.com/plataformatec/simple_form

Ich weiß, dass dies nur eine einfache Spitze ist. Leider kann ich jetzt nicht mit einer benutzerdefinierten Lösung aushelfen. Ich hoffe es hilft. Ich könnte mir das später genauer ansehen ...