2011-05-16 46 views
7

我有兩個模型:具有連接模型的項目和任務(例如):project_task通過關係啓用has_many,以便跨項目共享任務。通過關係處理與has_many的訂單

我將位置指定爲project_task模型的屬性。現在我想通過給定的項目,通過它們在project_tasks表中的位置來訪問任務。

即project.tasks(按project_tasks表中每個任務列出的位置排序)。

這可能嗎?

+0

可能重複http://stackoverflow.com/questions/2205618 /我是怎麼做的 - 通過關聯在紅寶石上) – 2012-08-14 21:16:47

回答

17

我想類似的東西可以幫助你:

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

謝謝德米特里,就是這樣 – 2011-05-16 14:10:05

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 
的[?我怎麼以便通過協會的Ruby on Rails的一個的has_many(