У меня есть компании, и у каждой компании много категорий. Я хотел бы отслеживать количество категорий каждой компании, стиль списка и увеличивать/уменьшать список при добавлении/удалите, сортируя их по столбцу позиции. Поэтому каждая категория внутри Компании имеет атрибут Position.Различные значения для одной и той же модели в Rails
|pos| name
1 - cat1
2 - cat2
3 - cat3
Так что, когда я создаю компанию у меня уже есть 2 категории по умолчанию (до создания и т.д.), и в моей категории классе у меня есть:
@@total_positions = 2
Для манипулирования позиции на категории создаю я использую:
before_create :add_position_to_new
before_destroy :decrement_positions
def add_position_to_new
self.position = @@total_positions + 1
@@total_positions = self.position
end
def decrement_positions
@@total_positions = @@total_positions - 1
end
Это все работает нормально, но все мои категории в приложении имеют общий счетчик позиций. Я хотел бы, чтобы каждая компания имела свой собственный счетчик @@ total_position для своих категорий. Пожалуйста, укажи меня в правильном направлении.
PS: до того, как я использовал gem action_as_list, и он отлично работал, но затем я столкнулся с некоторыми трудностями при переключении на Postgres и решил написать свой собственный метод с нуля. Таким образом, вы также узнаете немного больше, не так ли? ;)
Удивительно, спасибо! –