タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

activerecordに関するtyamaguc07のブックマーク (1)

  • ActiveRecord4(Rails4)のリレーションをinverse_ofで最適化する方法

    ActiveRecord4でhas_manyリレーションを定義する際、逆方向のリレーションをinverse_ofで指定することで、オブジェクトをメモリ空間内で効率化することができます。 例えば下記のようなモデルがあるとします。 上記のリレーションにおいて、DungeonのtrapsとTrapのDungeonは逆方向のリレーションであるため、同一のオブジェクトはメモリ内でも同一に扱うことができるはずです。 しかし、ActiveRecord4のデフォルトの動作ではそのような最適化は行ってくれません。 d = Dungeon.first t = d.traps.first d.level == t.dungeon.level # => true d.level = 10 d.level == t.dungeon.level # => false 上記のコードにおいて、dとt.dungeonはDB

  • 1