Convalida delle guide: quale metodo è preferito

2

In Ruby on Rails ci sono due modi per convalidare, per esempio, il presence dei campi di input. Dico che voglio assicurarmi che l'utente abbia compilato i miei campi chiamati value e name . Potrei inserire anche il mio modello:

validates_presence_of :value, :name

## Or

validates :value, presence: true
validates :name, presence: true

In questa situazione a giudicare rigorosamente da DRYness, il metodo 1 sembra migliore, ma nell'applicazione su cui sto lavorando ho la seguente validazione:

validates_presence_of :value, :name
validates_uniqueness_of :value
validates_numericality_of :value, :only_integer => true

## Which I can refactor to:

validates :value, presence: true, uniqueness: true, numericality: { only_integer: true }
validates :name, presence: true

E in questo caso il secondo metodo sembra migliore.

  • Esiste un metodo generalmente preferito o è caso per caso? (Se è caso per caso, non sarebbe fonte di confusione per i manutentori?)
  • È sicuro adottare un metodo per l'intera applicazione? (Se sì, quale dovrei adottare?)
posta bpromas 16.06.2015 - 21:02
fonte

1 risposta

5

La manutenibilità vince su tutti. A meno che tu non abbia una ragione pressante per non farlo, segui le convenzioni come appaiono nel materiale di riferimento.

In questo caso, il primo hit di Google è la documentazione per le convalide all'indirizzo rubyonrails.org , che mostra una strong preferenza al modulo validates . L'unico esempio di contatore che ho trovato è stato validates_associated , il che ha senso in quanto in realtà non convalida l'oggetto corrente.

Consiglierei di scegliere un modo per farlo, poiché facilita la scansione visiva del codice.

Personalmente, preferisco la flessibilità della versione validates .

    
risposta data 16.06.2015 - 21:27
fonte

Leggi altre domande sui tag