Как вы используете функцию ассоциаций ActiveRecord3 вне Rails? - PullRequest
0 голосов
/ 15 марта 2011

Я работаю над сценарием для преобразования старой базы данных приложения Rails 2 в новое приложение Rails 3.Новое приложение представляет собой переписывание и упрощение схемы базы данных.

Я создал автономную программу ruby, независимую от Rails, для выполнения тяжелых задач, и использую шаблон адаптера с модулями Ruby для манипулирования двумя подключениями к базе данных.и переместить данные из одной системы в другую.

Я успешно реализовал ActiveRecord (используя include "active_record") в моих моделях переводчиков, и все мои результаты поиска и проверки работают, как и ожидалось.Однако ассоциации приводят к вызовам method_missing.

Нужно ли делать что-то особенное, чтобы позволить ассоциациям работать вне среды Rails?Я надеюсь на простой ответ, такой как «вы забыли запросить этот ключевой файл».

1 Ответ

2 голосов
/ 06 апреля 2011

Вот минимальный пример использования activerecord без рельсов:

require 'active_record'

class Site < ActiveRecord::Base
  has_many :users
end


class User < ActiveRecord::Base
  belongs_to :site
end



ActiveRecord::Base.establish_connection(
  :adapter => 'mysql',
  :database => 'test',
  :user => 'root'
)

s = Site.first

p s
p s.users
p s.users[0].site

Там действительно не больше, чем это! Используемый здесь драгоценный камень - activerecord 3, но точно такой же пример работает с activerecord 2.

PS: очевидно, что вам нужна тестовая база данных с таблицами сайтов и пользователей для запуска этого теста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...