показать имя, а также идентификатор из двух разных таблиц для одной модели в Ruby On Rails - PullRequest
0 голосов
/ 07 марта 2012

У меня есть две таблицы с обоими соответствующими контроллерами и моделями, сгенерированными скаффолдами:

services
id|service_type|details

service_type
id|service_type

Таблица Service_type просто содержит список типов сервисов, таких как:

1. CLeaning
2. Grouting
3. Polishing

Сервисы относятсядля разных экземпляров каждого типа сервиса - поэтому в сервисном заказе, сделанном для полировки, будет 3 в качестве service_type.

Когда я перечисляю в списке сервисов, я хочу показать соответствующую запись service_type.service_type для сервисов.service_type, где services.service_type = service_type.id

Можно ли настроить модель служб для этого в Ruby on Rails?

1 Ответ

0 голосов
/ 07 марта 2012

Да, это можно смоделировать в рельсах.Вам необходимо добавить следующие отношения в ваших моделях

В service_type модель добавить

has_many : services

В service модель добавить

 belongs_to : service_type

Затем вам нужно добавитьдругое поле вашей модели 'service' с именем 'service_type_id', которое rails будет использовать в качестве внешнего ключа.

также вам придется переименовать поле 'service_type' из таблицы services, поскольку оно будет конфликтовать с соглашением об именовании rails.

Теперь вы настроены.

service_type.services 

теперь выдаст вам все заказы данного конкретного типа сервиса

service.service_type даст вам строку из модели service_type

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