2011-05-16 5 views
7

두 모델 : 프로젝트 및 작업 (예 : 조인 모델 포함) : project_task는 has_many 관계를 통해 작업을 공유하므로 여러 프로젝트에서 작업을 공유 할 수 있습니다.has_many with relationships with order

position을 project_task 모델의 속성으로 지정했습니다. 이제 주어진 프로젝트를 통해 project_tasks 테이블에서 자신의 위치에 따라 작업에 액세스 할 수 있기를 원합니다.

즉 project.tasks (project_tasks 테이블의 각 작업에 대해 나열된 위치에 따라 정렬 됨).

이것이 가능합니까?

+0

가능한 중복 http://stackoverflow.com/questions/2205618/how-do-i-order-a-has-many-through-association-in-ruby-on-rails) –

답변

17

나는 그런 일이 당신을 도울 수 있다고 생각 :

has_many :project_tasks 
has_many :tasks, :through => :project_tasks, :order => 'project_tasks.position' 
+0

드미트리 감사합니다. –

2
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 
[? 내가 루비 온 레일즈 협회를 통해 has_many을 주문하려면 어떻게] (의