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
-~----------~----~----~----~------~----~------~--~---

Reply via email to