2016-12-09 3 views
-1

Ich habe dieses collection_radio_buttons Feld, das ein wenig angepasst wurde, um Symbole anzuzeigen, aber jetzt aus irgendeinem Grund wird das Fehlerspanne-Tag nicht mehr angezeigt. Auch würde ich gerne den Etiketten-Wrapper um jeden Eingang selbst loswerden. Vielleicht müsste ich einen benutzerdefinierten Block in der Initialisierungsdatei erstellen? oder vielleicht fehlt mir etwas im block?Simple Form bootstrap anpassen collection_radio_buttons Feld

Hier ist mein Code

= f.simple_fields_for :answer_raiting do |builder| 
    = builder.collection_radio_buttons(:response, AnswerRaiting::RAITING, :first, :last, 
    collection_wrapper_tag: :div, collection_wrapper_class: "form-group radio-stars", 
    item_wrapper_tag: false) do |b| 
    = b.radio_button + fa_icon("star-o") 

Antwort

0

1) Sie .error Methode von builder verwenden können:

builder.error :response 

2) Mal sehen, was passiert, wenn Sie verwenden collection_radio_buttons method:

def collection_radio_buttons(method, collection, value_method, text_method, options = {}, html_options = {}, &block) 
    SimpleForm::Tags::CollectionRadioButtons.new(@object_name, method, @template, collection, value_method, text_method, objectify_options(options), @default_options.merge(html_options)).render(&block) 
end 

Um den Wrapper über jedes Element zu überspringen, können Sie item_wrapper_tag: nil op tion.

Um die Wrapper loszuwerden, können Sie lesen this docs. Lesen Sie über custom components.

+0

Ich habe über benutzerdefinierte Komponenten lesen, aber das Problem ist hier, dass der Eingang selbst mit dem Etikettenwickleranordnung gebaut – adavia

+0

item_wrapper_tag: nil entbindet nicht von der Eingabe-Wrapper-Label – adavia

+0

@adavia versuchen 'boolean_style zu verwenden: inline' Option –