Hi, Despite Josh Susser''s great tutorial, I am having trouble getting my self-referential many-to-many to work properly. I''d really appreciate it if someone could cast a quick critical eye over my simple setup. First my join-table migration sets up a source and destination column for "PaperRelationship": ... t.column :source_paper_id, :integer, :null => false t.column :destination_paper_id, :integer, :null => false ... PaperRelationship Model to go on top of this: ... belongs_to :source_paper, :class_name => "Paper" belongs_to :destination_paper, :class_name => "Paper" ... Then in my "Paper" model (the one which I would like to be self-referential) I have the following 4 has_manys: has_many :paper_relationships_as_source, :foreign_key => "source_paper_id", :class_name => "PaperRelationship", :dependent => :destroy has_many :outgoing_papers, :through => :paper_relationships_as_source, :source => "source_paper" has_many :paper_relationships_as_destination, :foreign_key => "destination_paper_id", :class_name => "PaperRelationship", :dependent => :destroy has_many :incoming_papers, :through => :paper_relationships_as_destination, :source => "destination_paper" This all seems to be fine, until I do something like paper1.outgoing_papers << paper2 I get the MYSQL constraint error: ActiveRecord::StatementInvalid: Mysql::Error: Column ''destination_paper_id'' cannot be null: INSERT INTO `paper_relationships` Any help is, as always, greatly appreciated. Thanks for reading, - Nex -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---