Ruby on rails ActiveRecord:从另一个模型链接

Ruby on rails ActiveRecord:从另一个模型链接,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我有一个标签和任务的标签系统(标签通过TagTask有许多任务,反之亦然) 我想做的是创建一个范围,返回所有标记中的所有任务。因此,在标记模型中,它如下所示: def self.combined_tasks(tag_ids) tasks = [] tag_ids.each do |tag_id| tasks << self.find(tag_id).tasks end tasks.inject { |result, elem| resul

我有一个标签和任务的标签系统(标签通过TagTask有许多任务,反之亦然)

我想做的是创建一个范围,返回所有标记中的所有任务。因此,在标记模型中,它如下所示:

def self.combined_tasks(tag_ids)
    tasks = []
    tag_ids.each do |tag_id|
      tasks << self.find(tag_id).tasks
    end

    tasks.inject { |result, elem| result & elem }
end
可以工作,但可以理解的是,它似乎无法链接到其他作用域

如果您有任何建议,请尝试:

Task.joins(:tag_tasks).where(tag_tasks: {tag_id: tag_ids}).uniq
Task.joins(:tag_tasks).where(tag_tasks: {tag_id: tag_ids}).uniq