2013-07-16 2 views
1

Если у меня есть таблица А с некоторых полей, то есть:Создание рельсов модели базы данных

id 
name 
release_date 

И у меня есть таблица B, которая содержит два объекта таблицы A, т.е.

id 
from 
to 

(от и до являются идентификаторами от таблица A)

Как подключить эти два объекта в модели, чтобы использовать оператор точек для доступа к Bs из A?

О Дизайн

Из таблицы запись создается еще одна запись так, я хочу, чтобы следить за который был создан из какой записи.

Так вот почему таблица B существует, так что я знаю, из которого был сделан из которых А

+0

Вы можете уточнить некоторые больше на этом проекте? Это отношения между А и В? –

+0

@Michael Szyndel Я надеюсь, что ответы на ур вопрос –

+0

Итак, у вас в основном есть дерево записей? Почему бы не добавить дополнительный столбец в A, как 'parent_id'? –

ответ

2

Вы можете использовать has_and_belongs_to_many отношения. Более подробную информацию об этом можно найти в файле rails guide, где вы также можете проверить необходимые миграции.

+0

HABTM обычно обескуражен в пользу 'has_many: through', и еще более обескураженно давать которые отвечают на такой широкий вопрос. –

1

Попробуйте

в классе B

has_many :froms, :foreign_key => "from" , :class_name=>"A" 
has_many :tos, :foreign_key => "to" , :class_name=>"A" 
+2

Это может быть и 'has_one' :) –

+0

Это не позволяет вам получить доступ к Bs из A, вы вам нужно иметь значение class_to в классе A, но вам понадобится отдельное поле, основанное на том, было ли оно «от« A »или« от »до« A – Slicedpan

+0

Когда я пытаюсь получить доступ к A.froms, я получаю #

Смежные вопросы