我有 3 个模型/表:用户、任务和任务实例。Task 表就像任务的主列表,不与任何特定用户耦合,而 TaskInstance 表包含指示用户完成特定任务的记录。换句话说,TaskInstance 有一个 User id、一个 Task id 和一个状态布尔值。一个用户有许多任务实例。用户不共享 TaskInstances,他们每个人都有自己的集合。
当用户首次在网站上注册帐户时,我希望为该User.task_instances
字段填充主列表中存在的每个任务的新任务实例。
根据我的阅读,我认为我必须使用 来执行此操作before_create
,因为这应该在用户第一次保存之前更新它。到目前为止,我有:
class User < ActiveRecord::Base
has_many :task_instances
before_create :populate_task_instances
private
def populate_task_instances
#something here
end
end
到目前为止,我不确定该populate_task_instances
方法中的内容。如何遍历 Task 表中的每条记录并为每条记录创建一个 TaskInstance,然后确保将 TaskInstances 的集合保存到用户的task_instances
字段中?
我知道这很简单,但这是我第一次涉足 Rails。