Помогите разобраться в рубинах на рельсах - PullRequest
1 голос
/ 11 августа 2009

Внимание, я новичок в ruby ​​на рельсах. Я знаю, что моя база данных не так хорошо настроена, но мы извлекаем информацию из удаленной базы данных и храним информацию из этой базы данных.

Пользователи:
- id
- ...

Станция
- id
- user_id
- hex_key (уникальный)
- ...

звонки
- id
- сообщается (шестнадцатеричный ключ от станций)
- идентификатор источника данных (из удаленной базы данных)

детали вызова
- id
- call_index (идентификатор источника данных от звонков)

ответы
- id
- call_index (идентификатор источника данных от звонков)
- response_id (из удаленной базы данных)

подробности ответа
- id
- response_index (response_id из ответов)

Что касается моделей (это все, что я уже закончил), я думаю, что это также моя самая большая проблема:

пользователь имеет много станций, звонки через станции и отчеты через звонки
на станциях много звонков
звонки имеют много ответов и принадлежат станциям
ответ принадлежит звонку

Я пытался понять это, но как мне смоделировать это, чтобы я мог правильно получить все от пользователей. как то так:
@ User.responses.find (: все)
и это даст все ответы для этого пользователя

Ответы [ 2 ]

1 голос
/ 11 августа 2009

Вот некоторая информация о присоединении таблиц.

http://www.ruby -forum.com / тема / 64839

0 голосов
/ 12 августа 2009

Исходя из схемы и описания базы данных, ваши модели будут выглядеть примерно так:

класс User

Класс станции "сообщил" конец

вызов класса "call_index" конец

Сложность заключается в том, что схема базы данных не совсем то, что Rails ожидает по умолчанию (соглашение). Возможно, вам также потребуется указать первичный ключ для таблиц, если они не используют идентификатор.

Кроме того, я не уверен, что вы сможете создать @ user.responses, потому что ответы относятся к вызовам, а вызовы принадлежат станциям, а станции принадлежат пользователям. Это фактически @ user.stations.calls.responses.

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