Dudas sobre sistema de creditos

Estoy trabajando en un proyecto en el que hay un sistema de “creditos”
que permite comprar “servicios”. Cuando un usuario crea un nuevo
servicio, se comprueba que tenga creditos para pagarlo, si es así lo
crea.

Cuando el usuario quiere desactivar el servicio, lo puede hacer, y de
esta manera puede volver a añadir otro servicio. Hasta aqui todo
funciona correctamente.

El problema viene cuando tengo que actualizar un servicio. Si el
servicio estava desactivado y lo activo, todo correcto, me hace la
verificación y sino tira un error, si el servicio está activo y lo
desactivo, todo correcto, lo desactiva, el problema está al actualizar
un servicio que quiero dejar activo, el sistema me continua dando el
error.

Alguien ha implementado algo parecido y me puede echar una mano?

Un saludo,

Francesc


class Service < ActiveRecord::Base

validate_on_create :has_credit
validate_on_update :has_credit_to_update

def has_credit
errors.add_to_base(“Must have credit”) unless self.user.has_credit?
end

def has_credit_to_update
unless self.filed?
errors.add_to_base(“There’s no more credit.”) unless
self.user.has_credit?
end
end

end


name. Francesc E. i Martí
voice. +34 678.681.603