Я работаю с контроллером, который следует принципу resource_controller, описанному здесь.
Как видите, у меня нет полного контроля над (создать, создать и т. д.), все они предварительно загружают данные, что означает, что если я хочу создать новый объект, скажем, @user
, следующий код уже был вызван @user = User.new
.
Единственный способ, которым я могу включить некоторую проверку, — это обратные вызовы, но как только обратный вызов решает отменить новый метод, я всегда получаю ошибку «Хеш-заморожен». Другими словами, я не могу сказать
@user = User.new
@user.destroy
Единственный лайфхак, который я смог придумать, это
@user = User.new
@user.save
@user.destroy
Кто-нибудь знает лучший способ, который не включает сохранение вещей в базу данных? И кстати, в чем разница между активной записью и активной моделью?