Two relationships to same table, which way to go?

Feedback here would be excellent! Below are two options for creating a schema where one table has two relationships to the same table in different roles. Please let me know thoughts or any additional options to consider:

OPTION 1

create_table :users do |t|   t.column :name, :string end

create_table :links do |t|   t.column :url   t.column :submitter_id, :integer   t.column :receiver_id, :integer end

class User < ActiveRecord::Base   has_many :submitted_links, :class_name => 'Link', :foreign_key => 'submitter_id'   has_many :received_links, :class_name => 'Link', :foreign_key => 'receiver_id' end

class Link < ActiveRecord::Base   belongs_to :submitter, :class_name => 'User', :foreign_key => 'submitter_id'   belongs_to :receiver, :class_name => 'User', :foreign_key => 'receiver_id' end

** CONCERN: Doesn't this break most of the automagic rails goodness?

OPTION 2

create_table :users do |t|   t.column :name, :string end

create_table :submitters do |t|   t.column :user_id, :integer end

create_table :receivers do |t|   t.column :user_id, :integer end

create_table :links do |t|   t.column :url   t.column :submitter_id, :integer   t.column :receiver_id, :integer end

class User < ActiveRecord::Base   has_one :submitter   has_one :receiver end

class Submitter < ActiveRecord::Base   belongs_to :user   has_many :links end

class Receiver < ActiveRecord::Base   belongs_to :user   has_many :links end

class Link < ActiveRecord::Base   belongs_to :submitter   belongs_to :receiver end

** I think this is logically more sound. Opinions? Any thoughts on ** the differences as far as database performance?

#1.

a user can submit or receive.

they are still a user.

trying to break their role at a moment in time out into an enter new class seems like giant overkill.