2009/7/3 gaoxh gaoxh04 <[email protected]>: > If I remove id column, what is the primary key?
Have a look at the rails guides, particularly the one on ActiveRecord associations at http://guides.rubyonrails.org/index.html Colin > > 2009/7/3 Marnen Laibow-Koser <[email protected]> >> >> Xiahong Gao wrote: >> > Hi everyone, >> > >> > I ran into a serious problem when I was trying to do something similar >> > to twitter follow mechanism. The thing is like this: >> > >> > First, I have a self-referential table, named "users" >> > create_table :users do |t| >> > t.column :name, :string >> > t.column :user_name, :string >> > t.column :password, :string >> > t.column :email, :string >> > end >> > >> > I also have a HABTM join table, named "follow_relations" >> > create_table :follow_realtions do |t| >> > t.column :a_id, :integer # a_id follows b_id >> > t.column :b_id, :integer >> > end >> > >> > My HABTM join is defined as follows >> > has_and_belongs_to_many :followers, >> > :class_name => >> > "User", >> > :join_table => >> > "follow_relations", >> > :foreign_key => >> > "b_id", >> > >> > :association_foreign_key >> > => "a_id" >> > >> > has_and_belongs_to_many :followings, >> > :class_name => "User", >> > :join_table => >> > "follow_relations", >> > :foreign_key => >> > "a_id", >> > :association_foreign_key >> > => "b_id" >> [...] >> > The first << operation executes the following SQL : >> > INSERT INTO `follow_relations (`id`, `b_id`, `a_id`) VALUES (3, 1, 3) >> > The second << operation executes the following SQL: >> > INSERT INTO `follow_relations (`id`, `b_id`, `a_id`) VALUES (3, 2, 3) >> > Thus, key id is duplicated. It looks like that every time, the value >> > of column id is copied from column a_id. >> > What's going on here? How to fix this problem? >> >> If you're using HABTM, the join table (follow_relations) should not have >> an id column. Remove it and see if that does the trick. >> >> > >> > Thanks in advance, >> > xiahong >> >> Best, >> -- >> Marnen Laibow-Koser >> http://www.marnen.org >> [email protected] >> -- >> 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 [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

