# Step 1: Add a unique constraint to the database column
class AddUniqueConstraintToTableName < ActiveRecord::Migration[6.0]
def change
add_index :table_name, :column_name, unique: true
end
end
# Step 2: Validate uniqueness in the model
class ModelName < ApplicationRecord
validates :attribute_name, uniqueness: true
end
# Step 3: Handle validation errors in the controller
class ControllerName < ApplicationController
def create
@model_instance = ModelName.new(model_params)
if @model_instance.save
# Successful save
else
# Handle uniqueness validation error
end
end
private
def model_params
# Permit the required parameters
params.require(:model_name).permit(:attribute_name)
end
end