2012-03-12 9 views
12

Sto passando l'applicazione per utilizzare simple_form ma sono un po 'confuso su come visualizzare un input di testo. Per esempio quando faccio quanto segue:input testo simple_form

f.input :foobar # <textarea name = "model[foobar]"></textarea> 

Ricevo invece una textarea in input con un tipo di testo. Come posso forzare simple_form a generare un input di testo?

risposta

44

Sta accadendo perché il campo è una colonna text nel database, piuttosto che string/varchar/etc, è possibile ignorare l'impostazione predefinita in questo modo:.

f.input :foobar, :as => :string 

Si può leggere su tutte le mappature del simple_form readme in "Mappature/Ingressi disponibili".

+1

Grazie per le informazioni. Vorrei che fossero nel Readme. Il file Leggimi non menziona nemmeno la parola "textarea" o l'opzione "as:: string". –

+0

Inviata una richiesta pull: https://github.com/plataformatec/simple_form/pull/855 –

9

Voglio aggiornare la risposta a questa domanda, perché il nuovo modo per farlo con simple_form è come questo:

f.input :foobar, as: :text 

Come si può vedere, utilizzando il "come:: testo" userà un text_area campo, ma se si desidera modificare la quantità di righe e colonne che si dovrebbe fare in questo modo:

f.input :foobar, as: :text, input_html: {rows: 10, cols: 10} 

Qui potete vedere la documentazione per la gemma:

https://github.com/plataformatec/simple_form

+1

È possibile passare dagli hash socket all'assegnazione dei simboli e disporre di 'f.input: foobar, come:: text, input_html: {rows: 10 , cols: 10} ' – Epigene

+0

aggiornato, ora con la nuova sintassi dell'hash; D –

Problemi correlati