2011-08-17 3 views
3

Je travaille avec les modèles Ruby on Rails. J'ai deux modèles appartenant à deux schémas différents. Deux modèles ont une relation parent-enfant. par exempleRuby on Rails - utilise: include dans Modèle de schéma différent

class Group < ActiveRecord::Base 
    has_one :customer 
end 

class Customer < ActiveRecord::Base 
    establish_connection "schema2" 
end 

Le groupe de modèles est dans le schéma 1 et le client est dans le schéma2. Si je le fais pour charger des groupes en utilisant le code suivant:.

self.paginate(:all, :page => currentpage, :per_page => per_page, :include => :customer) 

Je reçois l'erreur « schema1.Customer » est un nom non défini » comme il essaie de trouver la clientèle dans schema1 au lieu de schema2

Comment puis-je modifier cette requête (ou this: include) pour indiquer que le client est dans le schéma 2. J'ai essayé d'ajouter class_name dans la relation has_one dans le groupe has_one :customer, class_name=>"Customer", mais cela ne résout pas le problème, et j'obtiens la même erreur.

Des idées?

Répondre

0

Vous ne pouvez pas. Vous pouvez les charger seulement séparés:

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