我有一个名为 users 的空表。我通过以下方式创建一个新用户:
User.create :fb_id => fb_id
它成功创建了一个条目。
然后我通过以下方式查询它:
User.first(:include => :cookies, :conditions => {:cookies => {:opened => false} , :fb_id => fb_id})
回归nil
!!
我检查了桌子,用户在那里。所以我通过以下方式创建了一个新的重复用户:
User.create :fb_id => fb_id
现在有确切的两行具有相同的 fb_id。如果我现在像以前一样查询:
User.first(:include => :cookies, :conditions => {:cookies => {:opened => false} , :fb_id => fb_id})
它现在返回 id 为 2 的新用户!
这是怎么回事?我一直在尝试调试它 3-4 小时,但无法弄清楚。谢谢
我的模型:
class User < ActiveRecord::Base
has_many :cookies
has_many :fortunes, :through => :cookies
end
class Cookie < ActiveRecord::Base
belongs_to :user
belongs_to :fortune
end
class Fortune < ActiveRecord::Base
has_many :cookies
has_many :users, :through => :cookies
end