Nel text_field_tag chiamata:
: la dimensione si riferisce alla lunghezza fisica della casella di testo. Sarà abbastanza grande da permettere che molti personaggi siano visibili nella scatola. Ma l'utente può ancora inserire di più.
: lunghezza massima è il numero massimo di caratteri che l'utente può immettere, indipendentemente dalle dimensioni fisiche della casella di testo. La casella di testo può essere più grande o più piccola, ma se imposti: maxlength => 5, saranno in grado di inserire solo 5 caratteri.
Se questo è un limite rigido che si desidera anche per i dati nel database, è necessario impostare una convalida. Ciò ti impedisce, ad esempio, di impostarlo su più caratteri nel tuo codice Rails.
validates_length_of :column_name, :maximum => 5
Infine, per un approccio cinture e bretelle e per evitare che anche il codice che va contro il database da impostare un valore di male, è possibile farla rispettare a livello di database. In alcuni casi, un altro codice oltre all'app Rails potrebbe aggiornare il database. Questo impedisce dati errati anche in questo caso.
Aggiunta di una colonna in una migrazione si fa in questo modo:
add_column :table_name, :column_name, :string, :limit => 30
fonte
2013-12-18 20:19:08
Perché utilizzare l'hash input_html? Dovresti passare direttamente i parametri, non stai usando Simple form (f.input). –