Рубин на рельсах Активные записи - PullRequest
0 голосов
/ 07 января 2012

Мне нужно 2 модели для моего магазина:

  1. Обувь
  2. Размер обуви

Согласно моей концепции - одна обувь может иметь несколько размеров (однамодель обуви может быть 34,35,36,37 размера).

Какие виды ассоциаций мне следует использовать?Какие поля таблиц базы данных мне нужно создать для поддержки этих ассоциаций?

Вот пример используемых моделей:

Shoe.find(1).shoe_sizes => 34,35,36

ShoeSize(2).shoes => #Shoe1, #Shoe2, #Shoe5

1 Ответ

1 голос
/ 07 января 2012

Вы должны использовать отношения has_and_belongs_to_many.

class Shoe
  has_and_belongs_to_many :shoe_sizes
end

class ShoeSize
  has_and_belongs_to_many :shoes
end

Это связано с тем, что обувь может иметь несколько размеров обуви, а также один размер обуви доступен для разных ботинок.

...