Voglio creare un valore predefinito per un attributo definendolo in ActiveRecord. Per impostazione predefinita ogni volta che viene creato il record, voglio avere un valore predefinito per l'attributo :status
. Ho provato a fare questo:Come si crea un valore predefinito per gli attributi nel modello di Rails activerecord?
class Task < ActiveRecord::Base
def status=(status)
status = 'P'
write_attribute(:status, status)
end
end
Ma al momento della creazione ho ancora recuperare questo errore dal database:
ActiveRecord::StatementInvalid: Mysql::Error: Column 'status' cannot be null
Quindi presumo il valore non è stato applicato l'attributo.
Quale sarebbe il modo elegante per farlo in Rails?
Molte grazie.
Una più completa e aggiornata risposta è disponibile a http://stackoverflow.com/questions/328525/how-can-i -set-default-values-in-activerecord –