Rails 3 e validazioni campi obbligatori

Buongiorno lista/forum.

In un’applicazione in cui gli operatori inseriscono dati vari, devo fare
in modo che alcuni di essi siano obbligatori.
Sul model corrispondente ho scritto:


validates :dato1, :presence => true
validates :dato2, :presence => true
validates :dato3, :presence => true

In qualche maniera la cosa funziona, nel senso che se si prova a dare la
conferma di salvataggio l’applicazione va in errore mostrando la
bellissima schermata che riassume l’eccezione.
Se ricordo bene in Rails 2 compariva nella pagina di inserimento il
messaggio di errore e venivano evidenziati i campi obbligatori,
consentendo all’operatore di procedere col loro riempimento e salvare.

Ora devo gestirmi l’eccezione a mano, o ho inavvertitamente fatto fuori
qualcosa?

Eventualmente c’è da qualche parte una guida su come gestire gli errori
in maniera “pulita”? Sto trovando un po’ di tutto, da chi si affida a
gemme esterne più o meno complesse, chi va di scaffolding, chi si fa
tutto a mano… lo so che sono tutte vie alternative e valide, ed è
proprio per questo che non saprei quale usare: la pochissima esperienza
non mi è d’aiuto ':slight_smile:
Voi che consigliate/usate?

Come sempre grazie in anticipo.

http://guides.rubyonrails.org/active_record_validations_callbacks.html

HTH
claudio

2011/3/29 Daneel O. [email protected]:


Posted via http://www.ruby-forum.com/.


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Claudio M.

Claudio M. wrote in post #989780:

http://guides.rubyonrails.org/active_record_validations_callbacks.html

HTH
claudio

Sì, visto anche quello :slight_smile:
Ho provato a rifare un progetto rails 3 da 0 per verificare cosa potesse
essere successo e lì usando lo scaffolding automatico la validazione
funziona, quindi rimane solo un’ipotesi: ho fatto danni cercando di
personalizzare il codice.
Meglio che riparta daccapo: usare codice vecchio (sto cercando di
passare l’applicazione da rails 2 a 3) copincollato evidentemente non è
una buona soluzione :slight_smile:

Grazie e scusate la banalità del problema :slight_smile:

Daneel O. wrote in post #990348:

Daneel O. wrote in post #989910:

Grazie e scusate la banalità del problema :slight_smile:

… che non è poi così banale: alla fine ho individuato cosa fa dare di
matto la validazione: due listbox generate con gli elementi di due
tabelle. Ora cerco di capire perché impazzisce, ma se qualcuno ha
suggerimenti dica pure.

Scusate se continuo il monologo.
Alur, a forza di farne, ho “scoperto” che il problema si crea quando
avvengono i controlli: si accorge che i campi richiesti non sono
compilati e rigenera la pagina con la segnalazione che non possono
essere lasciati vuoti.

Io ho il contenuto delle due listbox generato nel controller “new”, ma
quando deve ricaricare la pagina con gli avvisi non passa per “new” e di
conseguenza nella vista si trova con due listbox dal contenuto nil e
questo non è gradito.
Ho trovato una guida su Formtastic
(#184 Formtastic Part 1 - RailsCasts) che da come dice
risolve il problema, ma mi sto chiedendo se è proprio necessario
installare un’altra gemma.
Secondo voi conviene farsi una gestione dell’errore a mano, oppure
caccio su formtastic e la sfrutto?

Daneel O. wrote in post #989910:

Grazie e scusate la banalità del problema :slight_smile:

… che non è poi così banale: alla fine ho individuato cosa fa dare di
matto la validazione: due listbox generate con gli elementi di due
tabelle. Ora cerco di capire perché impazzisce, ma se qualcuno ha
suggerimenti dica pure.