SO ...Rails Динамические модели Validations через ActiveSupport :: Концерн или заказ Validation
В настоящее время я работаю над рельсами проектом, что приведет к нескольким моделей создаются с атрибутами аналогичным сбора. То, что я хотел бы сделать, - создать механизм повторного использования валидации. Например, моя модель может быть ..
Foo
currency
producer_product_fee
producer_transport_fee
consumer_product_fee
consumer_transport_fee
... и у меня будет несколько моделей подобной структуры (всегда имеющая две разных сторон каждого плат), и я хотел бы подтвердить, что сборы не - отрицательные, действительные цифры, и что плата за производителя всегда меньше соответствующей потребительской пошлины. Обратите внимание, что разные атрибуты моделей могут быть названы совершенно разными, но можно предположить, что пара вознаграждений производителя/потребителя всегда называется одинаковой, за исключением префикса. Любые советы о том, как достичь этого, будут отличными.
Это может сработать, но это должно быть реализовано в каждой модели. В идеале я мог бы создать модуль или что-то подобное, чтобы я мог его импортировать и, возможно, вызывать что-то, передавая мои параметры в виде символов или что-то в этом роде, и никогда не должен снова указывать эту логику. Надеемся, что это даст спецификацию для этого повторно используемого компонента с shared_context и shared_examples, которые я могу вызвать из других моих тестов модели, чтобы упростить проверку всех компонентов. – Lane