У меня есть случай, который распространяется вокруг моей головы.
У меня есть модель изображения, которую я только хочу сохранить, если она будет загружена. Мне также нужна информация, поступающая из загрузки для проверки изображения (например, высота и ширина). Но я хочу, чтобы только загрузка произошла, если кто-то пытается сохранить файл в первый раз.
Итак, я думал, что лучшим вариантом будет иметь before_validation
, но я бы хотел, чтобы он запускался только при сохранении!
Мой код находится в этом стиле https://gist.github.com/andreorvalho/b21204977d2b70fdef83
Итак, странная часть этого on: :save
и on: :create
имеет действительно странное поведение или, по крайней мере, не то, что я ожидал.
Когда я ставлю его как on: :save
Если я попытаюсь выполнить image.save
в тесте, я вижу, что мои обратные вызовы before_validation
не запускаются!
Если я помещаю on: :create
в любую ситуацию, не имеет значения, если я запустил image.save
, image.create
или image.valid?
Итак, я предполагаю, что это либо не работает, либо я неправильно понимаю цель тех, кто находится в настройках.
p.s. моя проверка на создание, также происходит в каждой ситуации, сохраняет, создает или действует?
сообщите мне, если кто-то столкнулся с тем же или знает, почему не должно работать так.