Добавьте уникальное ограничение к самой базе данных, используя:
add_index :my_models, :my_column_name, unique: true
... через миграцию (и вы можете сделать так, чтобы my_column_name также не принимало никаких нулевых значений:
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