Ruby on Rails - использование: включить в модель другой схемы - PullRequest
3 голосов
/ 17 августа 2011

Я работаю с моделями Ruby on Rails. У меня есть две модели, относящиеся к двум разным схемам. Две модели имеют отношения родитель-потомок. * 1001 например *

class Group < ActiveRecord::Base
  has_one :customer
end

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

Группа моделей находится в схеме1, а клиент - в схеме2. Если я сделаю это для загрузки групп, используя следующий код:

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

Я получаю ошибку "schema1.Customer" - это неопределенное имя ", так как оно пытается найти Customer в schema1 вместо schema2.

Как я могу изменить этот запрос (или этот: включить), чтобы указать, что клиент находится в схеме2. Я попытался добавить имя_класса в отношении has_one в группе как has_one :customer, class_name=>"Customer", но это не решает проблему, и я получаю ту же ошибку.

Есть идеи?

1 Ответ

0 голосов
/ 17 августа 2011

Вы не можете.Вы можете загрузить их только отдельно:

@groups = self.paginate(:all, :page => currentpage, :per_page => per_page)
@customers = Customer.find(:all, :conditions => {:id => @groups.map(&:id)})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...