Вам понадобится отдельная модель, которая связана с пользователями и задачами. Например. (при условии, что ваши существующие модели называются User и Todo:
приложение / модели / todo_orders.rb
class TodoOrders.rb < ActiveRecord::Base
belongs_to :user
belongs_to :todo
validates_uniqueness_of :order_num
end
дб / мигрирует / yyyymmddhhmmss_create_todo_orders.rb
def up
t.integer :user:id
t.integer :todo_id
t.integer :order_num
end
Вам понадобится дополнительная логика в ваших моделях, чтобы выстроить правильные порядки и связать их с вашими задачами. например
приложение / модели / todo.rb
attr_accessor :cur_order
приложение / модели / user.rb
has_many :todo_orders
def get_todos
todo_orders.includes(:todo).map do |todo_order|
todo = todo_order.todo
todo.cur_order = todo_order.order_num
todo
end
end
Таким образом, вызов get_todos для пользовательского объекта вернет список Todos с порядком отображения, который хранится в их атрибуте cur_order