1
我有一個用戶有很多任務。這是一組預定義的任務。每項任務都有一份需要完成的任務需求清單。我已經建立了2 has_many through
的關係。這是我的代碼。Rails ActiveRecord has_many問題
class User < ActiveRecord::Base
has_many :user_tasks
has_many :tasks, through: :user_tasks
end
class UserTask < ActiveRecord::Base
belongs_to :user
belongs_to :task
end
class Task < ActiveRecord::Base
has_many :user_tasks
has_many :users, through: :user_tasks
has_many :task_requirements
has_many :requirements, through: :task_requirements
end
class TaskRequirement < ActiveRecord::Base
belongs_to :task
belongs_to :requirement
end
class Requirement < ActiveRecord::Base
has_many :task_requirements
has_many :requirements, through: :tasks
end
這部分似乎相當簡單,但現在我想捕捉每一個要求完成的日期和它是否完成一個布爾值或不是針對每個User
。我原本試圖把它放在TaskRequirement
表中,但當然它已經更新了所有用戶,這不是我想要的行爲。所以我有兩個問題。 1.我在哪裏放這些領域? 2.訪問它們的最佳方式是什麼?
我以爲他們會在一個連接表去,但沒有簡單的方法來訪問的連接表中的信息。
再次感謝您的幫助。
根據要求, 「的has_many:要求,通過:任務」 應該大概也是 「的has_many:taskss,通過:task_requirements」。不要忘記你的反向關聯。 –