У меня есть базовая модель Rails с двумя свойствами: имя и код . У меня есть validates_uniqueness_of для свойства code . Тем не менее, я бы хотел настроить сообщение: для отображения имени дубликата. Есть ли способ получить доступ к этому дубликату?
Например, допустим, я сначала ввел запись с именем Срок действия истек с кодом EXP . Затем я ввожу Опыт с кодом EXP . Мне бы хотелось, чтобы в сообщении говорилось что-то вроде: «Код уже истек».
> m1 = Model.new(:name => 'Expired', :code => 'EXP')
> m2 = Model.new(:name => 'Experience', :code => 'EXP')
> m1.save!
> m2.save!
validates_uniqueness_of :code,
:message => "Code already taken by #{duplicate.name}"
Существует ли какая-либо встроенная конструкция Rails, которая содержит дубликат объекта, чтобы я мог получить к нему доступ, как в сообщении:? Или есть какой-нибудь другой способ, которым я могу выполнить код, чтобы определить дубликат, когда эта проверка запускается?