如何设置rails验证列hstore键的唯一性?

时间:2013-07-30 18:54:10

标签: ruby-on-rails validation activerecord rails-postgresql hstore

我有一个表channels,其中包含一个hstore列credentials。每个频道的凭据可能不同,但我希望它们在填充时是唯一的。我已经设置了一些像这样的postgres索引:

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'))"

这在使用ActiveRecord::RecordNotUnique的@ channel.save期间正确引发了一个硬错误,但是我想要熟悉的显示表单错误的rails方式。在hstore密钥'auth_token'和'seller_id'上使用验证唯一性的语法是什么(如果有的话)?

1 个答案:

答案 0 :(得分:0)

选中此项,可能有所帮助:https://gist.github.com/rf-/2322543

请注意他使用'sqlite3'。