Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.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 如何使用includes进行即时加载,但使用包含参数的作用域来限制加载的内容_Ruby On Rails_Ruby On Rails 3_Activerecord - Fatal编程技术网

Ruby on rails 如何使用includes进行即时加载,但使用包含参数的作用域来限制加载的内容

Ruby on rails 如何使用includes进行即时加载,但使用包含参数的作用域来限制加载的内容,ruby-on-rails,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby On Rails 3,Activerecord,好的,我有以下几种型号 Class Company < ActiveRecord::Base has_many customers active? Class Customers < ActiveRecord::Base belongs_to :Company has_one :account Class Account < ActiveRecord::Base belongs_to :Customer has_many :invoices Class Invoice

好的,我有以下几种型号

Class Company < ActiveRecord::Base 
has_many customers
active?

Class Customers < ActiveRecord::Base
belongs_to :Company
has_one :account

Class Account < ActiveRecord::Base
belongs_to :Customer
has_many :invoices

Class Invoice < ActiveRecord::Base
belongs_to :account
has_many :line_items
invoice_date

Class LineItem < ActiveRecord::Base
belongs_to:Invoice
我真正想做的是:

comapanies = Company.where(:active => true)
.includes(:merchants => [:billing_account => 
[:invoices => for_the_day_of(Date.today) => :invoice_line_items]])
我不知道这在活动记录中是否可行,或者我只是在想问题

任何帮助都将不胜感激


谢谢

如果我理解正确,您需要可以从其他模型访问的范围和一些子查询功能。
我用gem来做这个提议。这是一个伟大的gem,它扩展了活动记录功能

如果我理解正确,您需要可以从另一个模型访问的范围和一些子查询功能。 我用gem来做这个提议。这是一个伟大的gem,它扩展了活动记录功能

invoice = Invoice.for_the_day_of(Date.today).first
comapanies = Company.where(:active => true)
.includes(:merchants => [:billing_account => 
[:invoices => for_the_day_of(Date.today) => :invoice_line_items]])