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:

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

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.