У меня есть стол channels
, с колонкой hstore credentials
. Учетные данные для каждого канала могут быть разными, но я хочу, чтобы они были уникальными при заполнении. Я поставил некоторые Postgres индексы, как это:Как установить рельсы проверяет уникальность на столбце hstore key?
execute "CREATE UNIQUE INDEX channels_key_seller_id_values_unique ON channels((credentials -> 'seller_id'))"
execute "CREATE UNIQUE INDEX channels_key_auth_token_values_unique ON channels((credentials -> 'auth_token'))"
Это правильно поднимает тяжелую ошибку при @ channel.save с ActiveRecord::RecordNotUnique
, однако я хотел бы, привычные рельсы способ отображения ошибок формы. Что (если есть) является синтаксисом использования проверки подлинности уникальности на ключах hstore «auth_token» и «seller_id»?
Основные упоминания, включая ActiveModel :: Validations. К сожалению, модуль не поддерживает уникальность. http://api.rubyonrails.org/classes/ActiveModel/Validations.html –