Получение простой информации из базы данных для панели инструментов - PullRequest
0 голосов
/ 18 января 2019

Я использую Rails 5.2.2. Мне нужно иметь простую информацию из записей БД. Я создал несколько простых методов в помощниках вида, таких как:

  def set_simple_info
   "This user has #{@user.accounts.count} accounts<br> 
    These accounts has #{@user.accounts.relations.count} relations. <br>
    #{@user.accounts.orders.count} times ordered something".html_safe
  end

Но это создает много SQL-запросов.Я думал, что смогу создать некоторые переменные и управлять ими с помощью Ruby, но я не уверен, каков наиболее эффективный способ сделать это. Как я могу получить простую информацию из БД, не используя много SQL-запросов?

1 Ответ

0 голосов
/ 18 января 2019

Определите их как вспомогательный метод.Но лучший подход - определить их как методы класса в соответствующих классах.А затем позвоните им напрямую.

def user_relation_count(user)
  Relation.joins(account: :user).where(users: {id: user.id}).count
end

def user_orders_count(user)
  Order.joins(account: :user).where(users: {id: user.id}).count
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...