Which associations should I use? to extend ad model.

I would like to use only one table ads on database.

regular AD:
:title
:price
:content
:username

trip AD:
:title
:price
:content
:username
:from
:to

Which associations should I use?
Polymorphic Associations
The has_and_belongs_to_many
Else?

I create a Gist with my recent ideas: https://gist.github.com/1770515

what are the other objects? What is it that has_and_belongs_to_many?
for polymorphic relationships you want to ask if more than one
So
class Ad
   belongs_to :adable, :polymorphic => true
end

class Customer
   has_many :ads, :as => :adable
end

class NewsPaper
has_many :ads, :as=>:adable
end

At least I think this is what you are looking for. Maybe some others
will give advice.

STI , Single Table Inheritance (This structure is best used for
models that have identical, or very similar attributes )

trip AD << regular AD

class RegularAd < ActiveRecord::Base
end
class TripAd < RegularAd
end

migration (Rails 3.1)
class CreateAds < ActiveRecord::Migration
  def change
    create_table(:regular_ads) do |t|
      t.string : title
      t.float : price
      t.string : content
      t.string : username
      t.integer : from
      t.integer: to
    end
  end
end

I think form me i should be something like this below because I need different validations to each type of ads. Or in your example could i set up this kind of different validations?

class Ad < ActiveRecord::Base

validates_presence_of :name, :email, :price(?), :category_id(?)

:name

:phone_number

:email

:advertiser_id

:token

:verification_date

:level

:category_id

:admin_id

:price

:display_counter

:type

end


> class RegularAd < Ad

> validates_presence_of :title, :ad_content

> 

> :title

> :ad_content

> end