common functions in rails

# 1. Validations
# Ensure data meets certain criteria before it gets saved to the database.
class User < ApplicationRecord
  validates :username, presence: true, uniqueness: true
  validates :email, presence: true, uniqueness: true, format: { with: URI::MailTo::EMAIL_REGEXP }
end

# 2. Associations
# Establish connections between different models in the database.
class User < ApplicationRecord
  has_many :posts
  belongs_to :account
end

# 3. Callbacks
# Execute logic at certain points in an object's lifecycle.
class Order < ApplicationRecord
  before_save :update_total

  private

  def update_total
    self.total = calculate_total
  end

  def calculate_total
    # Logic to calculate the order total
  end
end

# 4. Controllers
# Handle incoming requests, process data, and render views.
class UsersController < ApplicationController
  def index
    @users = User.all
  end

  def show
    @user = User.find(params[:id])
  end

  def create
    @user = User.new(user_params)
    if @user.save
      # Logic for successful save
    else
      # Logic for failed save
    end
  end

  private

  def user_params
    params.require(:user).permit(:username, :email)
  end
end

# 5. Views
# Display the user interface and interact with users.
# This is an example of a view file (e.g., app/views/users/index.html.erb).
<h1>Listing Users</h1>
<ul>
  <% @users.each do |user| %>
    <li><%= user.username %></li>
  <% end %>
</ul>