2

我有一个表channels,hstore列credentials。每个频道的凭证可能不同,但我希望它们在填充时是唯一的。我已经设置了一些Postgres的指标是这样的:如何设置rails验证列hstore密钥的唯一性?

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'上使用验证唯一性的语法?

回答

0

检查这一点,它可能会帮助:https://gist.github.com/rf-/2322543

注意,他用 'sqlite3的'。

+1

要点包括ActiveModel :: Validations。不幸的是,该模块不支持唯一性。 http://api.rubyonrails.org/classes/ActiveModel/Validations.html –