Přidejte jedinečné omezení do samotné databáze pomocí:
add_index :my_models, :my_column_name, unique: true
...prostřednictvím migrace (a možná budete chtít, aby tento my_column_name také nepřijímal žádné hodnoty null:
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