ActiveRecord model for users who have issues or who assist with issues
The foreign key is not needed for belongs_to :creator since rails will infer this foreign key from the association name. The source has to point to the relation for UserIssue (you pluralized this name but active record class names should be singularized in most cases) so instead of source: users, and source: issues, you want source: user, source: issue. 

Another way you could have accomplished the same thing, which IMO is a bit cleaner is the following:

class Issue &lt; ActiveRecord::Base
  belongs_to :creator, class_name: 'User'
  has_many :helpings, :foreign_key =&gt; 'issue_helped_id'
  has_many :helpers, through: :helpings
end

class User &lt; ActiveRecord::Base
  has_many :issues, foreign_key: 'creator_id'
  has_many :helpings, foreign_key: 'helper_id'
  has_many :issues_helped, through: :helpings
end

class Helping &lt; ActiveRecord::Base
  belongs_to :helper, class_name: 'User'
  belongs_to :issue_helped, class_name: 'Issue'
end


It also gives the join table a more descriptive name. For this to work you need to modify your inflections since rails cannot pluralize issue_helped or singularize issues_helped out of the box. To do this, in config/initializers/inflections.rb add:

ActiveSupport::Inflector.inflections do |inflect|
  inflect.plural 'issue_helped', 'issues_helped'
  inflect.singular 'issues_helped', 'issue_helped'
end