0

私はテーブルにたくさんのフィールドと約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およびsat で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つの文を順番に実行しますが、それはこの動作を説明していません。

誰もが以前にこれに気づきました。もしそうなら、それが既知のことである場合、これを防ぐために何ができますか?

前もって感謝します。質問がばかげているように見えることは理解していますが、それは実際のシナリオであり、私のライブプロジェクトで起こっています。

4

0 に答える 0