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).
-
MaurĂcio Linhares
http://alinhavado.wordpress.com/ (pt-br) | http://blog.codevader.com/ (en)
On Sat, Jan 24, 2009 at 5:03 AM, Nyc, Petr
<jet.jetpac-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:> 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
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---