Manchmal muss ich nicht einfach smth in meiner App validieren, sondern auch vor/nach der Validierung ändern. I.e.Wo kann die Validierung geändert werden?
class Channel < ActiveRecord::Base
validate :validate_url
...
private
def validate_url
url = "rtmp://#{url}" if server_url[0..6] != "rtmp://" #alter cause need this prefix
unless /rtmp:\/\/[a-z0-9]{1,3}\.pscp\.tv:80\/[a-z0-9]\/[a-z0-9]{1,3}\//.match url
errors.add(:url, "...")
end
end
end
oder smth wie dies
class Channel < ActiveRecord::Base
validate :validate_restreams
...
private
def validate_restreams
self.left_restreams = self.left_restreams - self.restreams #to be sure there's no intersections
end
end
Aber ich glaube, es ist kein richtiger Ort für solche Dinge, so muß ich wissen, was ist der Weg, um es richtig zu machen?
Oh, das ist nicht die Antwort, die ich zu erhalten erwartet. Ich meine, den Wert zu ändern ist nicht das, was man normalerweise vom Validator erwartet, oder? Vielleicht gibt es einen anderen Weg, das Gleiche zu tun? – Ngoral