Search code examples
rubyinheritancefindsingle-table-inheritance

Trying to return various models with Ruby Activescaffold find on models with inheritance


class Promotion 
 def self.get_todays_promotions
    # Promotion is a parent model, having child models e.g.
    # DiscountPromotion, VoucherPromotion, etc.
    # they all use a single table called promotions 
    # (and having 'type' field explaining which model they belong to)
    promotions = self.find(:all, :conditions => [Promotion.date_check_query], :order => "#{Promotion.table_name}.order_of_calculation")

    # Normally promotions would contain a collection of Promotion models. 
    # I want to return a collection of various models here depending on
    # each model's class name
  end
end

Is it possible to do the above?

Thank you!


Solution

  • answered as the comment above.