Help with Favourite model

John Smith wrote:

I have a User model, a Favourite model, a Film model and a Song model.
I would like o achieve user favourite films and user favourte songs with
databse associations, using just a Favourite model. Which will be the
best way? How should define those models?

I assume the best way will be something like that:
    create_table :favorites do |t|
      t.integer :user_id
      t.references :favorable, :polymorphic => true
      t.timestamps
    end

User.rb
    has_many :favorites
    has_many :favorables, :through => :favorites

Film.rb
    has_many :favorites, :as => :favorable
    has_many :favoriting_users, :through => :favorites, :source => :user

Song.rb
    has_many :favorites, :as => :favorable
    has_many :favoriting_users, :through => :favorites, :source => :user