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を持つ正確な2つの行があります。以前と同じようにクエリを実行すると、次のようになります。
User.first(:include => :cookies, :conditions => {:cookies => {:opened => false} , :fb_id => fb_id})
ID2の新しいユーザーが返されます。
どうしたの?私はそれを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