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 –