Adicione uma restrição exclusiva ao próprio banco de dados usando:
add_index :my_models, :my_column_name, unique: true
...através de uma migração (e você pode querer fazer com que my_column_name não aceite nenhum valor nulo também:
class CreateMyModels < ActiveRecord::Migration
def change
create_table :my_models do |t|
t.string :my_column_name, null: false
t.timestamps
end
add_index :my_models, :my_column_name, unique: true
end
end