TODO list app. Сортировка задании на каждый день

Рейтинг: 0Ответов: 1Опубликовано: 26.01.2015

Добрый день!

Пишу TODO list. Имеется 2 таблицы: Задания (tasks) и Расписание (schedule). Расписание должно планироваться на каждый день с определенной сортировкой задании (приоритет задании). Т.е. хотелось, чтобы поле (к примеру, :priority) заполнялось автоматический значениями от 1 до N для каждого дня... ну и не должны повторятся (в рамках 1-го дня). Планируется, что приоритет задании можно будет править, менять местами задания и т.д.

Вопрос:

Есть ли gem для выполнения такой задачи? Если нет gem'a, то каждый раз перед созданием/сохранением Расписания получать и проверять значения полей :priority и вручную задавать?

Ответы

▲ 2Принят

Вот метод модели, который устанавливает вес записи, в соответствии с позицией id во входящем массиве. Писан для мускула, используется как обработчик к http://jqueryui.com/sortable/

  def self.resort(ids)
    update_all(
        ['weight = FIND_IN_SET(id, ?)', ids.join(',')],
        { :id => ids }
    )
  end