class MOdrRep < ApplicationRecord belongs_to :m_odr has_many :particulars, :dependent => :destroy accepts_nested_attributes_for :particulars, :allow_destroy => true has_many :m_odr_rep_ribs, :dependent => :destroy accepts_nested_attributes_for :m_odr_rep_ribs, :allow_destroy => true belongs_to :m_odr_product belongs_to :m_odr_place has_many :m_odr_files, :dependent => :destroy accepts_nested_attributes_for :m_odr_files, :allow_destroy => true validates :qte, :presence => true validates :m_odr_product_id, :presence => true validates :m_odr_place_id, :presence => true belongs_to :m_odr_tracker attr_accessor :t before_validation do if self.t.to_s != "" self.m_odr_tracker = MOdrTracker.where(:token => self.t).first end end before_create { generate_token() } def generate_token() begin self[:token] = SecureRandom.urlsafe_base64 end while MOdrRep.exists?(:token => self[:token]) end end