Попробуйте эту технику интерполяции:
validate_uniqueness_of :name, :message => "%{value} has already been taken"
RailsGuide для проверок активной записи и обратных вызовов показывает пример, где %{value}
интерполируется в пользовательское сообщение об ошибке:
:message => "%{value} is not a valid size"
Я посмотрел документацию validates_each и вижу, что блоку валидации передано три свойства: |record, attr, value|
. Все три могут быть доступны с %{model}
, %{attribute}
и %{value}
.
Хотя это ограничено, так как оно дает вам доступ только к трем свойствам, к счастью, это все, что вам нужно.