我有一個叫做用戶的空表。我通過以下方式創建新用戶:ActiveRecord不返回行,但在第二個重複行後返回?
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
':cookies'關聯是什麼樣的? – willglynn
已更新爲用戶表 – 0xSina
您的Cookie表是否具有「已打開」的默認值?如果不是,也許你應該檢查不是真的,而不是錯誤的。 –