私はテーブルにたくさんのフィールドと約1000万のエントリを持つメッセージモデルを持っています。
今、私は次のような SomeItem モデルも持っています (1000 エントリしかありません):
class SomeItem < ActiveRecord::Base
belongs_to :item, :polymorphic => true # "Message" is one of the item types
end
今、私を悩ませているこれらの2つの連続したコード行があります:
m = Message.new(:fild_one => 1, ...)
m.save
s = SomeItem.create(:item => m)
seem
がデータベースに正常に保存されている場合:Sat, 05 Oct 2013 15:01:06 UTC +00:00
およびs
at でSat, 05 Oct 2013 15:01:23 UTC +00:00
、それで問題ありません。
しかし、私が行う場合:
s.item_type it gives me "Message"
これは問題ありませんがs.id it gives me nil
、1000エントリ中3エントリです。
私の質問は次のとおりです。前の行で作成されたものを次の行で作成されm
たものに使用することを妨げるような遅延はありますか?s
注: 1) メッセージ テーブルは数百万のエントリを含む巨大です
2) SomeItem テーブルは小さく、1000 エントリしかありません
3)私が理解しているように、レールはこれら2つの文を順番に実行しますが、それはこの動作を説明していません。
誰もが以前にこれに気づきました。もしそうなら、それが既知のことである場合、これを防ぐために何ができますか?
前もって感謝します。質問がばかげているように見えることは理解していますが、それは実際のシナリオであり、私のライブプロジェクトで起こっています。