Skip to content
Snippets Groups Projects
complaint.rb 900 B
Newer Older
# == Schema Information
#
# Table name: complaints
#
#  id                  :integer          not null, primary key
#  description         :text
#  user_id             :integer
#  complaint_reason_id :integer
#  created_at          :datetime         not null
#  updated_at          :datetime         not null
#

Mateus Rambo Strey's avatar
Mateus Rambo Strey committed
class Complaint < ApplicationRecord
  # *current_user* create complaint about *complaint_reason* for *complaintable*
  include Trackable

  belongs_to :complaint_reason
  belongs_to :user
  validates_presence_of :user, :complainable, :description, :complaint_reason
  validates :user_id, uniqueness: { scope: [:complainable_id, :complainable_type] }
  def reason
    complaint_reason.reason
  end