Как я могу массировать атрибуты на уровне модели до того, как активная запись преобразует их в соответствующий тип столбцов?activerecord column type/before_validation
моей конкретной проблемой является то, что пользователь вводит сумму денег в десятичной форме (т.е. $ 15,32) для столбца целочисленного типа, называемого «центы» ... в моей модели, я пытаюсь использовать hook before_validation для возьмите эту сумму и преобразуйте ее в центы (должно быть 1532), однако активная запись уже округлила ее до целого числа, и теперь мое преобразование становится всего лишь 1500.
Я могу преобразовать сумму в параметрах на уровне контроллера, но я бы предпочел контролировать это в модели ради того, чтобы оставаться СУХОЙ.
любые предложения?
Это правильный путь. Если вы используете #attr_accessible, необходимо добавить #dollars и #cents удалить. –
замечательный. это отлично работает. я никогда не знал, что get & set были такими простыми с рельсами. благодаря! – brewster