This is a total left field possibility, but I recently encountered a
MySQl bug in a join query and found that upgrading fixed it. Here are
my very verbose details:

http://j.mp/nlRn5w


On Mon, Sep 19, 2011 at 6:26 AM, Jordan F. <[email protected]> wrote:
> In my app, User objects can follow each other, and be followed. The two
> relationships are distinct.
>
> I'm seeing that when I set `user_a.follows << user_b` that
> `user_b.followed_by.count` still == 0. Why?
>
> When I play in the console, I see:
>
> [code]
> $ jordan = User.new(:name=>"Jordan")
>  => #<User id: nil, name: "Jordan">
> $ matt = User.new(:name=>"Matt")
>  => #<User id: nil, name: "Matt">
> $ matt.followers << jordan
>  => [#<User id: nil, name: "Jordan">]
> $ matt.followers.first
>  => #<User id: nil, name: "Jordan">
> $ jordan.friends.first
>  => nil
> $ matt.save
>
>  SQL (14.1ms)  INSERT INTO "users" ("name") VALUES (?)  [["name",
> "Matt"]]
>  SQL (0.3ms)  INSERT INTO "users" ("name") VALUES (?)  [["name",
> "Jordan"]]
>  SQL (0.4ms)  INSERT INTO "followings" ("followee_id", "follower_id")
> VALUES (?, ?)  [["followee_id", nil], ["follower_id", 2]]
>  => true
>
> [/code]
>
> My objects are defined as:
>
> [code]
> class User < ActiveRecord::Base
>  has_many  :follower_followee_rel,
>            :class_name         => "Following",
>            :foreign_key        => 'followee_id',
>            :dependent          => :destroy
>  has_many  :friends,
>            :through            => :follower_followee_rel,
>            :source             => :followee
>  has_many  :followee_follower_rel,
>            :class_name         => 'Following',
>            :foreign_key        => 'follower_id',
>            :dependent          => :destroy
>  has_many  :followers,
>            :through            => :followee_follower_rel,
>            :source             => :follower
> end
>
> class Following < ActiveRecord::Base
>  belongs_to  :followee,
>              :class_name         => 'User'
>  belongs_to  :follower,
>              :class_name         => 'User'
> end
> [/code]
>
> Totally ignoring the second half of the relationship.
>
> No errors are raised. What's going on?
>
> --
> 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.
>
>

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