should the polymorfic modeling be used?

Hi experts,

I am new to rails and am struggling for several days with a following model (Rails 2.2.2).

People are submitting requests, each request has one submitter, one approver, several reviewers and several responsible people.

I was able to get this model working:

class Person < ActiveRecord::Base has_many :Requests end

class Request < ActiveRecord::Base belongs_to :Approver, :class_name => “Person”, :foreign_key => “approver_id” belongs_to :Submitter, :class_name => “Person”, :foreign_key => “submitter_id” end

But I am really stuck in creating HABTM relationship between requests<->reviewers and requests<->responsible_people… I do not want to create separate tables for each group of people as one is sometimes submitter/approver and sometimes belongs to reviewers/responsible.

Can you someone point me the right direction? Thanks! JetPac

Here's how your code should be:

class Person < ActiveRecord::Base   has_many :requests_as_approver, :class_name => 'Request', :foreign_key => 'approver_id'   has_many :requests_as_submitter, :class_name => 'Request', :foreign_key => 'approver_id' end

class Request < ActiveRecord::Base   belongs_to :approver, :class_name => "Person", :foreign_key => "approver_id"   belongs_to :submitter, :class_name => "Person", :foreign_key => "submitter_id" end

I can't see the need for a N:N association here (and thus as has_and_belongs_to_many association).