У меня возникла небольшая проблема с нормализацией строкового кода UPC, чтобы я мог сохранить его в том же формате в базе данных.
Я использую гем ean
для проверки правильности строки (которая работает нормально), но если я выброшу какой-нибудь код назначения после его проверки, например:
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
Стрип-вызов является просто примером, поскольку это строка. Я на самом деле буду удалять тире в UPC.
Приведенный выше код не работает так хорошо, как на самом деле не сохраняет его. Я посмотрел на запуск метода, как
after_validation :normalize_upc
def normalize_upc
upc = upc.strip
end
.. но и выше не работает.
Что вы, ребята, делаете для проверки и преобразования данных после проверки?