2010-01-13 8 views

Répondre

4
class Revision < ActiveRecord::Base 
    belongs_to :creator, :foreign_key => "created_by", :class_name => "User" 
    belongs_to :verifier, :foreign_key => "verified_by", :class_name => "User" 
    belongs_to :publisher, :foreign_key => "published_by", :class_name => "User" 
end 

class User < ActiveRecord::Base 
    has_many :creations, :foreign_key => "created_by", :class_name => "Revision" 
    has_many :verifications, :foreign_key => "verified_by", 
    :class_name => "Revision" 
    has_many :publications, :foreign_key => "published_by", 
    :class_name => "Revision" 
end 

L'utilisation de ces modèles:

User.first.creations #=> [#<Revision>, #<Revision>, ...] 
Revision.first.creator #=> #<User> 
# ...etc., for verifier/verifications and publisher/publications. 

Vous devriez probablement changer le nom de l'association à tout ce qui est plus logique dans votre application.

+0

Parfait merci! – middric

+0

J'essaie cette solution dans mon propre numéro et je n'arrive pas à le faire fonctionner. Voulez-vous me donner un coup de main ici? http://stackoverflow.com/questions/5554590/two-models-with-multiple-foreign-keys – bruno077

Questions connexes