in un modello di Rails ho un attributo is_subscriber
, quando ho costruito una migrazione db per aggiungere questa colonna alla base di dati ho specificato il valore di default di essere falsa:Rails valori predefiniti del database e la validazione dei modelli per i campi booleani
t.boolean "is_subscriber", :default => false
ho anche specificato nel modello che questo attributo deve essere presente:
validates :is_subscriber, presence: true
Allora perché ottengo questo errore quando creo un'istanza modello senza specificare questo attributo?
2012-05-08T21:05:54+00:00 app[web.1]: ActiveRecord::RecordInvalid (Validation failed: Is subscriber can't be blank):
Buon punto (votato in alto), ma non penso che la regola del database porterebbe a questo essere validato con successo anche in questo caso, giusto? –
@SteveRowley perché no? Rails gestisce la conversione dei dati tra i tipi, quindi funziona come un incantesimo. Tieni presente che la sintassi delle migrazioni viene anche tradotta in sintassi db. – Fabio
Grazie per la soluzione! –