优化长关联链
Optimize long chain of associations
我有一个顾客去有经理的商店。 Customer和Manager都来自People模型,只是角色不同而已。
从客户那里获得经理的最佳方式是什么?
现在我有这个非常慢的解决方案:
shop_manager = customer.shop.people.select{|p| p.has_role?(:manager)}.first
person.rb:
belongs_to :shop
shop.rb:
has_many :people
使用 rolify gem.
分配角色
像这样?
shop_manager = customer.shop.people.with_role(:manger).first
我有一个顾客去有经理的商店。 Customer和Manager都来自People模型,只是角色不同而已。
从客户那里获得经理的最佳方式是什么?
现在我有这个非常慢的解决方案:
shop_manager = customer.shop.people.select{|p| p.has_role?(:manager)}.first
person.rb:
belongs_to :shop
shop.rb:
has_many :people
使用 rolify gem.
分配角色像这样?
shop_manager = customer.shop.people.with_role(:manger).first