Problem with many to many relationship

Hi

I’m trying to create a many to many relationship between two models.

A User can be associated with many Incidents and vice versa.

class User < ActiveRecord::Base

include ActiveModel::ForbiddenAttributesProtection

has_many :incident_participants, foreign_key: “participant_id”

has_many :participated_incidents, through: :incident_participants

end

class Incident < ActiveRecord::Base

include ActiveModel::ForbiddenAttributesProtection

has_many :incident_participants, foreign_key: “participated_incident_id”

has_many :participants, through: :incident_participants

end

The join table:

class IncidentParticipant < ActiveRecord::Base

include ActiveModel::ForbiddenAttributesProtection

t.belongs_to :participant, class_name: “User”

t.belongs_to :participated_incident, class_name: “Incident”

end

Table for IncidentParticipants

create_table “incident_participants”, :force => true do |t|

t.integer “participant_id”

t.integer “participated_incident_id”

t.datetime “created_at”, :null => false

t.datetime “updated_at”, :null => false

end

So, why doesn’t rails get this relationship? When I try to do @incident.participants in my view I get this error:

“Could not find the source association(s) :participant or :participants in model IncidentParticipant. Try ‘has_many :participants, :through => :incident_participants, :source => ’. Is it one of ?”

Any ideas?

Found the error… I have written t.belongs in one class instead of belongs_to… Tired…