2013-02-21 1 views
9

Sto usando simple_form e mi chiedo se sia possibile saltare qualsiasi div wrapper quando si ha a che fare con un'associazione select.Ignora wrapper su associazioni con simple_form

Thank

+0

hai provato? se sì, cosa hai provato? – Gerep

+0

Ho provato ad utilizzare alcune opzioni come 'wrapper_html: false', ma ottengo ancora alcuni div che non posso rimuovere – sailor

risposta

11

Se stai usando qualcosa come f.association :product è possibile rimuovere sia l'etichetta generato e involucro in questo modo: f.association :product, label: false, wrapper: false

+0

La risposta di hitham-s-alqadheeb è quella corretta. Usa f.input_field. – hellion

8

https://github.com/plataformatec/simple_form#stripping-away-all-wrapper-divs

SimpleForm permette anche di striscia via tutti i wrapper div intorno campo che viene generato con il solito f.input. Il metodo più semplice per ottenere questo è usare f.input_field.

Esempio:

simple_form_for @user do |f| 
    f.input_field :name 
end 

produce:

<input class="string required" id="user_name" maxlength="100" 
    name="user[name]" size="100" type="text" value="Carlos" /> 

Per visualizzare i rdocs effettivi per questo, check them out qui - http://rubydoc.info/github/plataformatec/simple_form/master/SimpleForm/FormBuilder:input_field

Oppure ...

fare qualcosa di simile

config.wrappers :small do |b| 
    b.use :placeholder 
    b.use :label_input 
end 

e utilizzarlo in questo modo:

# Specifying to whole form 
simple_form_for @user, wrapper: :small do |f| 
    f.input :name 
end 

https://github.com/plataformatec/simple_form#configuration

+0

C'è un modo per specificarlo per una sola associazione? – sailor

+1

So che puoi passare i parametri ad esso, non certo quelli diversi per lo stesso modulo. Quello che vorrei fare è lasciarli tutti avvolti in un div, ma personalizzare i miei div con i CSS. Puoi fare un div non essere un div con i CSS. Inoltre, controlla questo commento "SimpleForm ti permette anche di togliere tutti i wrapper div attorno al campo che viene generato con il solito' f.input'. Il modo più semplice per ottenere questo è usare 'f.input_field'." –

0

uso collection_select invece, in Haml:

= f.collection_select :position_id, Position.all, :id, :name, {}, { class: 'span3' } 

questo esempio si presuppone un modello di posizione e si desidera aggiungere span3 come classe sul <select> genera