Polymorphic abstraction of Models, design help needed

We have Models like Supplier, Distributor, Vendor, Buyer in our
schema. These entities have some common attributes ( like name,
description, sales offices etc.) but mostly they have a divergent
schema with different has_many :through associations ( a vendor has
many stock_keeping_units , others do not) because of which they needed
to be collapsed to separate models.

We also have various types of Events in the system, for example, a
partnership event, a distributorship event, a procurement event, etc.

How can I create a is_a relationship and abstract these buyer, vendor,
etc models to a Company Model and when creating an event , like say a
partnership event, simply say Company 1 partnered with Company 2
without worrying what the company type is, so that I can do something
like this on my form partial for an Event Submission:

    <%= f.label "Company 1" %>
    <%= f.collection_select :partnering_company_id_1,
Company.all ,:id, :name, { :default => true} %>

I am willing to share more details of the schema in case its needed.
Is this possible? I recently came across this blog post (http://
mediumexposure.com/multiple-table-inheritance-active-record/) which
goes ahead and describes some smart Mutiple Table Inheritance but I am
not sure if this is applicable to the current problem statement.