2011-12-13 25 views
22

¿Cuál es la diferencia entre save(false) y save(:validate => false)? Por lo que puedo decir, la funcionalidad es la misma. La versión que usa :validate está en la API, lo que me lleva a creer que save(false) es una versión en desuso. Esto surgió cuando sigo esto: https://github.com/plataformatec/devise/wiki/How-To:-Create-a-guest-user. La guía tiene save(false) allí pero recibí errores al usarla. Lo cambié a la versión :validate y funcionó bien.Diferencia entre guardar (falso) y guardar (: validar => falso)

Respuesta

30

En versiones Rieles antes de que 3, savewas a method en ActiveRecord::Base y se podía pasar false a ella con el fin de validaciones de derivación.

En Rails 3, savewas moved a ActiveRecord::Persistance y desde entonces debe pasar a :validate => falsesave con el fin de validaciones de derivación.

+0

pensó que era algo por el estilo, ¡Gracias! – Steve

+0

Tenga en cuenta que una vez que haya usado este estado para persistir que viole las restricciones, también será necesario validar todas las siguientes copias de seguridad: falso. – DylanReile

Cuestiones relacionadas