Сохранение порядка или массива в отношении has_many - PullRequest
0 голосов
/ 25 декабря 2011

У меня есть модель CardSet, которая has_many :cards, :order => "cards.order". Когда я обновляю some_card_set.cards = cards_in_a_particular_order, а затем some_card_set.save, я хочу, чтобы some_card_set.cards возвращался в следующий раз с картами в том же порядке, в котором я их ввел. Как я могу добиться этого?

Ответы [ 2 ]

1 голос
/ 25 декабря 2011

Либо делайте это вручную, либо используйте один из тонны acts_as_ordered плагинов, например this или this и т. Д.

0 голосов
/ 25 декабря 2011

Предполагается, что дизайн таблицы похож на

cards {
  id INT PRIMARY KEY,
  value VARCHAR(5),
  suite VARCHAR(10)
}

card_sets {
  id INT PRIMARY KEY,
  name VARCHAR(30),
}

Тогда у меня будет таблица соединений, похожая на:

card_set_orders {
  card_set_id INT,
  card_id INT,
  order_index INT

}

Вам придется изменить многие из них, чтобы отразить синтаксис соединения. Тогда вы могли бы иметь «порядок» функции «порядок» для набора. Так что вам нужно: 1) новая миграция 2) новая модель activerecord 3) метод заказа, который вы можете вызвать при поиске или вручную 4) обновлено has_many

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