В моем текущем проекте Rails у меня есть модель под названием «Ребенок» с двумя параметрами: «choc_cupcake» и «cherry_cupcake».При проверке параметров для модели Rails вы можете проверить значение одного параметра по отношению к другому?
Каждому ребенку должно быть разрешено иметь до 5 кексов в любой комбинации шоколада и/или вишневых кексов. Пока мой код проверки модели позволяет каждому ребенку иметь до 5 шоколадных кексов и до 5 вишневых кексов.
class Child < ActiveRecord::Base
validates :choc_cupcake, numericality: { only_integer: true, greater_than_or_equal_to: 0, less_than_or_equal_to: 5 }
validates :cherry_cupcake, numericality: { only_integer: true, greater_than_or_equal_to: 0, less_than_or_equal_to: 5 }
end
Есть ли способ, чтобы указать, что если ребенок выбирает X шоколадные кексы, то он/она может иметь не более (5-X) черри кексы? Что-то вроде этого, может быть?
validates :cherry_cupcake, numericality: { only_integer: true, greater_than_or_equal_to: 0, less_than_or_equal_to: (5 - :choc_cake) }
Теперь, когда я пытаюсь добавить дочерний объект в консоли рельсы, это дает мне это сообщение: «ArgumentError: Вы должны указать по крайней мере одну проверку» :( – drumwolf
моя вина 'ошибки. .add' не может принимать сразу два атрибута. –