обработка заказа с помощью has_many через отношения - PullRequest
8 голосов
/ 16 мая 2011

У меня есть две модели: проект и задача (например) с моделью соединения: project_task, включающий отношение has_many посредством, чтобы задачи могли совместно использоваться в проектах.

Я указал положение в качестве атрибута модели project_task. Теперь я хочу иметь возможность доступа к задачам по их положению в таблице project_tasks через данный проект.

т.е. project.tasks (упорядочено по позиции, указанной для каждой задачи в таблице project_tasks).

Возможно ли это?

Ответы [ 2 ]

18 голосов
/ 16 мая 2011

Думаю, что-то подобное может вам помочь:

has_many :project_tasks
has_many :tasks, :through => :project_tasks, :order => 'project_tasks.position'
2 голосов
/ 16 мая 2011
class Task < AR::Base
   belongs_to :project
   has_one :project_tasks,:through=>:project_tasks
end

class Project < AR::Base 
  has_many :project_tasks
  has_many :tasks ,:through=>:project_tasks,:order => 'project_tasks.position'
end

class ProjectTask < AR::Base
  belongs_to :task
  belongs_to :project
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...