我正在使用Ruby on Rails模型。我有两个属于两个不同模式的模型。两个模型都有父子关系。 e.g
class Group < ActiveRecord::Base
has_one :customer
end
class Customer < ActiveRecord::Base
establish_connection "schema2"
end
模型组在schema1中,而customer在schema2中。如果我这样做是为了使用以下代码加载组:
self.paginate(:all, :page => currentpage, :per_page => per_page, :include => :customer)
我收到错误 “schema1.Customer”是一个未定义的名称“因为它试图在schema1而不是schema2中找到Customer。
如何更改此查询(或此:include)以指示客户位于schema2中。我试图在Group as中的has_one关系中添加class_name
has_one :customer, class_name=>"Customer"
,但它没有解决问题,我得到了同样的错误。
任何想法?
答案 0 :(得分:0)
你做不到。您只能单独加载它们:
@groups = self.paginate(:all, :page => currentpage, :per_page => per_page)
@customers = Customer.find(:all, :conditions => {:id => @groups.map(&:id)})