2013-12-08 4 views
0

У меня возникли проблемы, обертывая мою голову вокруг того, что я считаю более сложной ассоциацией, и надеялся, что кто-то сможет мне помочь в правильном направлении.Настройка сводной таблицы (ассоциации Rails)

У меня есть четыре модели:

  • пользователя
  • профиль
  • feed_group
  • корма

Все 4 из них, очевидно, имеют свои собственные поля и данные, хранящиеся внутри. Моя цель состоит в том, чтобы иметь таблицу резюме базы данных под названием «user_detail» (Я открыт для вызова это что-то другое, если Rails имеет свои соглашения), который имеет следующие 4 поля:

  • user_id
  • profile_id
  • feed_group_id
  • FEED_ID

что бы мои модели ассоциации выглядеть?

Спасибо.

+1

Как вы бы могли использовать этот UserDetail? – janfoeh

+0

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

+0

Почему бы не поставить ассоциации на пользовательскую модель самостоятельно? – janfoeh

ответ

1

Вы можете создать модель с помощью миграции, как это:

rails g model UserDetail user:references profile:references feed_group:references feed:references 

В созданном файле models/user_detail.rb вы найдете отношения:

class UserDetail < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :profile 
    belongs_to :feed_group 
    belongs_to :feed 
end 

Кроме того, добавить ссылки на UserDetail всего упоминаемая моделей, например. в models/user.rb добавить has_many :user_details и т. д.

Поскольку я прочитал ваш вопрос, это все, что вам нужно.

+0

Хорошо, это то, что я думал. Сделав еще один шаг, скажем, во время создания этого «профиля», я даю им возможность выбрать feed_group, назовите его «Tech». Как убедиться, что данные вставляются в таблицу user_detail? Вложенные формы? –

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