tutorial rubyonrails rails que guide ejemplos descargar curso ruby-on-rails ruby-on-rails-2

ruby-on-rails - rubyonrails - ruby on rails tutorial



Rieles 2.3.11-Validar solo en Crear (2)

TL; DR; Ejemplo completo:

class MyPerson < ActiveRecord::Base validate :age_requirement private def age_requirement unless self.age > 21 errors.add(:age, "must be at least 10 characters in length") end end end

Para ejecutar el validador solo si se está creando un nuevo objeto, puede cambiar la segunda línea del ejemplo para: validate :age_requirement, on: :create

Solo en actualizaciones: validate :age_requirement, on: :update

Espero que ayude a la siguiente persona!

Estoy tratando de hacer que mi validación personalizada funcione en create . Pero cuando hago una find continuación, guardo, Rails lo trata como create y ejecuta la validación personalizada. ¿Cómo puedo hacer que las validaciones solo funcionen al crear un nuevo registro y no en la actualización de un registro encontrado?


El título de su pregunta especifica los rieles 2.3.11, pero su etiqueta muestra los rieles 3.1. Estoy tomando el título para ser la versión real que necesitas.

Prueba esto en tu línea de código de validación:

validate :custom_validation, :on => :create

esto especifica que solo se ejecute la validación en la acción de create . Aquí está el enlace a los apidocs