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]])