Spaces:
Sleeping
Sleeping
| class User < ApplicationRecord | |
| has_secure_password | |
| has_many :auctions, foreign_key: "submitted_by_user_id", dependent: :destroy | |
| has_many :opinions, dependent: :destroy | |
| has_many :opinion_votes, dependent: :destroy | |
| has_many :user_expert_categories, dependent: :destroy | |
| has_many :expert_categories, through: :user_expert_categories, source: :category | |
| enum :role, { | |
| user: "user", | |
| expert: "expert", | |
| admin: "admin" | |
| }, default: "user" | |
| validates :username, presence: true, uniqueness: true | |
| validates :email, presence: true, uniqueness: true, format: { with: URI::MailTo::EMAIL_REGEXP } | |
| validates :role, presence: true | |
| # Ransack configuration for Active Admin | |
| def self.ransackable_attributes(auth_object = nil) | |
| [ "id", "username", "email", "role", "created_at", "updated_at" ] | |
| end | |
| def self.ransackable_associations(auth_object = nil) | |
| [ "auctions", "opinions", "expert_categories", "user_expert_categories", "opinion_votes" ] | |
| end | |
| end | |