Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在数据量大的情况下,Rails取代了简单的ActiveRecord关系_Ruby On Rails - Fatal编程技术网

Ruby on rails 在数据量大的情况下,Rails取代了简单的ActiveRecord关系

Ruby on rails 在数据量大的情况下,Rails取代了简单的ActiveRecord关系,ruby-on-rails,Ruby On Rails,在我的应用程序中,控制器看起来非常简单: class ProductsController before_action :set_company def index @products = company.products.includes(:shipment) end private def set_company @company = Company.find(params[:company_id]) end end 但我担心的是@produc

在我的应用程序中,控制器看起来非常简单:

class ProductsController
  before_action :set_company

  def index
    @products = company.products.includes(:shipment)
  end

  private

  def set_company
    @company = Company.find(params[:company_id])
  end
end
但我担心的是
@product
内部索引操作是否正确声明?如果我有数百万的产品呢?有没有更有效的解决方案

模型关系如下:

class Products < ApplicationRecord
  belongs_to :company
  has_many :shipment
end

class Company < ApplicationRecord
  has_many :products
end

class Shipment < ApplicationRecord
  belongs_to :products
end
类产品
如果您有数百万条记录,因为您的查询太大,那么肯定会有问题,在这种情况下,您可以添加任何风格的分页,或者使用任何其他策略来减少每次查询的记录数


要在Rails中进行分页,您可以使用,但这不是唯一可用的策略。

我想到了过滤。类似于
最近的\u产品
。是的,过滤是另一个很好的选择,这完全取决于您试图解决的用例