Из-за некоторых проблем я работал с системой, которая использовала модель на многих страницах, где ее проверка ее содержимого модели варьируется в зависимости от шагов контроллера.Модели Rails применяют проверки на основе контроллера
E.g. когда @step = 1, модель должна быть validates_precense_of: name, но вы только validates_precense_of: age до @step = 2
Однако, поскольку модель рельсов не может читать сеансовые или глобальные переменные, как я могу применить это?
'@ step' не глобальный, но в сторону, не является шагом частью модели? Если нет, почему бы и нет? Его не нужно сохранять, просто сделайте его псевдо-атрибутом. –
Нет, в принципе, у меня много просмотров, которые используют атрибуты кросс-моделей, например, для первого представления потребуется некоторая информация о драйвере: name, если второе представление потребует от пользователя ввода возраста. когда я отправляю первый вид, я хочу, чтобы модель проверяла: name, но не проверяла возраст, так как его не требуется до второго представления. но когда я нажимаю submit для второго представления, я не хочу проверять возраст – phil88530
, что такое @step? Это модель? Переменная для определения вида? Что делает @step в приложении? Редактирование: вы ответили, прежде чем я поставил этот комментарий ... –