Programmer Question
I'm having a bit of a problem normalizing a UPC string code so that I can store it in the same format in the database.
I'm using the ean gem to check if the string is good (which is working fine), but if I throw some assignment code after it validates such as:
validate :upc_check
def upc_check
    if !upc.nil?
        if !upc.ean?
            errors.add(:upc, 'is not a valid UPC.')
        else
            upc = upc.strip
        end 
    end 
end 
The strip call is just an example as it's a string. I'll actually be removing the dashes in the upc.
The above code doesn't work so well as it doesn't actually save it. I had a look at triggering a method like
after_validation :normalize_upc
def normalize_upc
    upc = upc.strip
end
..but the above doesn't work either.
What do you guys do to validate and transform data after validation?
Find the answer here
 
No comments:
Post a Comment