我有一个模型调用实体,它属于机器、装配体或组件。我的联想如下:
实体.rb
belongs_to :work_orderable, polymorphic: true
machine.rb、subassembly.rb、component.rb
has_many :entities, as: :work_orderable, dependent: :destroy
现在我想使用包含在实体模型上查询 work_orderable 的属性。我目前正在使用这个非常慢的查询:
ids = @work_orders.includes(:work_orderable).select { |work_order| work_order.work_orderable.responsibility.include?(@current_user.id) }.map(&:id)
# @work_orders.where('id IN (?)', ids)
任何建议都会有所帮助。谢谢。