Ruby on Rails - 使用:包含在不同模式的模型中

时间:2011-08-17 05:41:43

标签: ruby-on-rails include schema models

我正在使用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",但它没有解决问题,我得到了同样的错误。

任何想法?

1 个答案:

答案 0 :(得分:0)

你做不到。您只能单独加载它们:

@groups = self.paginate(:all, :page => currentpage, :per_page => per_page)
@customers = Customer.find(:all, :conditions => {:id => @groups.map(&:id)})