Я новичок в ruby на рельсах и застрял в ассоциациях.
Я хочу разработать веб-приложение, в котором участник может создать контакт. Контакт может иметь одну или несколько категорий (пекарь / актер / разработчик / что угодно).
Исходя из этого, я знаю, что мне нужно как минимум три модели: член, контакт и категории.
Я также создал модель category_contacts.
Вот мои ассоциации моделей:
class Member < ActiveRecord::Base
has_many :contacts
end
class Contact < ActiveRecord::Base
belongs_to :member
has_many :categories_contacts
has_many :categories, :through => :categories_contacts
end
class Category < ActiveRecord::Base
has_many :categories_contacts
has_many :contacts, :through => :categories_contacts
end
class CategoriesContacts < ActiveRecord::Base
belongs_to :contact
belongs_to :category
end
Это нормально?
А потом я хотел бы получить все контакты по категориям.
Пример:
Категории: актеры, режиссеры
Контакт 1: имя (Джон), категории (актеры, режиссеры)
Контакт 2: имя (Зак), категория (актеры)
Контакт 3: имя (Удача), категория (директора)
Если бы я сортировал по актерам, я бы получил
Категория: Актеры =>
Контакт 1: имя (Джон)
Контакт 2: имя (Зак)
Но я не знаю, как получить все мои контакты в моем контроллере.
Я пробовал вещи, но ничего не работает.
Спасибо за помощь.