class Dungeon < ActiveRecord::Base
has_many :traps, :inverse_of => :dungeon
has_one :evil_wizard, :inverse_of => :dungeon
end
class Trap < ActiveRecord::Base
belongs_to :dungeon, :inverse_of => :traps
end
class EvilWizard < ActiveRecord::Base
belongs_to :dungeon, :inverse_of => :evil_wizard
end
stackoverflow 上的解释:dungeon.traps.first.dungeon 不会再发起一次查询,而是直接调用 dungeon 了。
我的问题时,什么场景下会用到,为什么 ruby-china 下的每一个 model,但凡出现 belongs_to 都加了这个参数。
比如:
class Topic < ActiveRecord::Base
belongs_to :user, :counter_cache => true, :inverse_of => :topics
......
......