# == Schema Information # # Table name: rates # # id :integer not null, primary key # approves :boolean # user_id :integer # review_id :integer # created_at :datetime not null # updated_at :datetime not null class Rate < ApplicationRecord # *current_user* rate a review *review* include Trackable belongs_to :user belongs_to :review validates_presence_of :user, :review validates_inclusion_of :approves, in: [true, false] validates_uniqueness_of :user, scope: :review validate :cannot_rate_your_own, on: :create def recipient review end private def cannot_rate_your_own errors.add(:user_id, "cannot rate your own review") if review.user == user end end