manage manual foreign_key ,foreign_type in polymorphic ?

how to manage manual foreign_key ,foreign_type in polymorphic ?

like

has_many (or has_one) :catalog_entry, :as => :resource ,:foreign_key=>'resource' ,:foreign_type=>'type'

any idea ?