Tengo una declaración 'validate_on_create' en uno de mis controladores que me gustaría omitir todos mis datos iniciales. ¿Cuáles son algunas soluciones para que la sentencia create en mi archivo de semillas omita esta validación? Mi solución actual es comentar la validación cada vez que ejecuto rake db: seed. ¿Algo un poco más inteligente?Ruby on Rails: omitiendo la declaración 'validate_on_create' para semillas
Respuesta
¿Ha considerado la adición de un atributo en el modelo que se comprueba en el método validate_on_create?
Ejemplo:
class MyModel < ActiveRecord::Base
attr_accessor :skip_on_create_validation
def validate_on_create
unless skip_on_create_validation
# do validation
end
end
end
# In db/seeds.rb
MyModel.create(:skip_on_create_validation => true, ......)
Puede omitir las validaciones llamando al model.save(false)
en sus semillas, suponiendo que no las está cargando mediante accesorios.
Pero yo estoy usando la función en el archivo de inicialización de crear. ¿Estás sugiriendo que no? – JackCA
así que en lugar de 'crear' use la función 'compilar' –
es Rails 3 y es para una creación de objeto no múltiple –
Puede saltear explícitamente todas las validaciones cuando guarda un objeto llamando al object.save(false)
.
Por ejemplo:
# In your model
def validate_on_create
# An example validation - replace with whatever you like
return true unless name.blank?
end
# In db/seeds.rb
# Create a new person
p = Person.new(:name => 'Bob')
# Save the record to the database, and *skip validation*
p.save(false)
Lo sé, pero me gustaría usarlo con: 'Model.create' en lugar de' Model.save (falso) ' –
No hay opción para saltear validaciones cuando se llama a' object.create'. ¿Por qué no simplemente llamar a 'object.save (false)'? – nfm
porque estoy creando una gran cantidad de objetos como este: 'modelos = Model.create ([{: nombre =>" Nombre "}, {: nombre =>" Segundo nombre "}])' –
- 1. Rails 3 y validate_on_create
- 2. Intellisense para Ruby, Ruby on Rails, Python
- 3. Ruby vs. Ruby on Rails
- 4. Ruby on Rails Switch
- 5. Ruby on Rails will_paginate
- 6. Docsplit Ruby on Rails
- 7. Ruby on Rails enviar
- 8. Ruby on Rails: descargable
- 9. Mejor ubicación IP para Ruby on Rails
- 10. Mahout Plugin para ruby on rails
- 11. Ruby On Rails: pluralizar para otros idiomas
- 12. SAML 2.0 SSO para Ruby on Rails?
- 13. Ruby on Rails Internacionalización para español
- 14. Configurar Notepad ++ para ruby on rails
- 15. Ruby on Rails función para este
- 16. Ruby on Rails Editor para Windows
- 17. ¿Para qué es la declaración de socket en Ruby on Rails database.yml?
- 18. ¿Hay alguna prueba para Ruby on Rails?
- 19. Configuración de Vim para Ruby on Rails
- 20. link_to con Ruby on Rails
- 21. Busting Ruby on Rails Myths
- 22. Ruby on Rails I18n interpolation
- 23. Cómo dominar Ruby on Rails
- 24. Ruby on Rails field average?
- 25. Usos de Ruby on Rails
- 26. Ruby on rails application root
- 27. Ruby on Rails: formulario select
- 28. Ruby on Rails ActiveRecord: pluralization
- 29. Ruby on Rails Generar vistas
- 30. Django o Ruby on Rails
¿Hay ¿Rails 4 equivalente a esto? Creo que 'validate_on_create' está en desuso, ¿verdad? –