多くのタスクを持つユーザーがいます。これは、定義済みの一連のタスクです。各タスクには、タスクを完了するために完了する必要がある要件のリストがあります。has_many through
私は2つの関係を設定しました。これが私のコードです。
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
が、もちろん、すべてのユーザーに対して更新されました。これは私が望む動作ではありません. だから私は2つの質問があります。1. これらのフィールドはどこに置くのですか? 2. それらにアクセスする最良の方法は何ですか?
それらは結合テーブルに入ると思いますが、結合テーブルの情報に簡単にアクセスする方法はありません。
すべての助けをありがとう。