У меня есть проект, над которым я работаю, и я должен был внести изменения.Мы разрабатываем приложение, такое как Jira, где у вас есть разные доски с заданиями.Мне пришлось создать круговую диаграмму, которая отображает, сколько задач у пользователя.Моя старая версия кода была такой:
= pie_chart Task.all.group(:assigned_id).count.map { |k,v| [User.find(k).full_name, v] }.to_h
, и она работала.Старший сказал мне создать один запрос для получения пар имени и количества задач.До сих пор у меня что-то подобное, но оно не работает:
= pie_chart current_account.organization.Tasks = Task.joins(:assigned_id).where(:full_name)
Модели:
class Account < ApplicationRecord
belongs_to :user
belongs_to :role
belongs_to :organization
has_many :activities, dependent: :destroy
has_many :tasks, dependent: :destroy
has_many :activities, dependent: :destroy
has_many :comments, dependent: :destroy
class Organization < ApplicationRecord
include PgSearch
has_one_attached :logo
has_many :accounts
has_many :boards
class Task < ApplicationRecord
has_one_attached :file
belongs_to :list
belongs_to :owner, class_name: "Account", foreign_key: "owner_id"
belongs_to :assigned, class_name: "Account", foreign_key: "assigned_id"
has_many :subtasks, dependent: :destroy
has_many :comments, dependent: :destroy
has_many :activities, dependent: :destroy
class User < ApplicationRecord
include PgSearch
has_many :accounts, dependent: :destroy
has_one_attached :avatar