【问题标题】:Getting simple informations from Database for Dashboard从 Database for Dashboard 获取简单信息
【发布时间】:2019-01-18 08:44:08
【问题描述】:

我正在使用 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 查询的情况下从 DB 获取一些简单信息?

【问题讨论】:

    标签: ruby-on-rails activerecord ruby-on-rails-5


    【解决方案1】:

    将这些定义为辅助方法。但最好的方法是将它们定义为相应类中的类方法。然后直接给他们打电话。

    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
    

    【讨论】:

      猜你喜欢
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多