Dave, with a web site with that name I am sure Josh knows a lot more about this than I do, but in the case you describe it looks like you just want a simple self-join. In which case I think what you want is:
def Asset < ActiveRecord::Base has_and_belongs_to_many :related_assets, :class_name => "Article", :join_table => "related_assets", :association_foreign_key => "related_asset_id", :foreign_key => "asset_id" end
And then a table called related_assets with the columns related_asset_id and asset_id
Cheers, --Kip