0

我有一个任务列表和一个任务模型。

我正在使用 gem amoeba 复制一个任务列表及其相关任务。任务列表和任务都有一个 user_id 字段。

user_id 默认设置为 NULL。

当我复制时,我希望将 user_id 设置为 current_user.id(来自设计)。

我可以使用正确的 user_id 复制任务列表:

@tasklist = Tasklist.find(topic_params[:tasklist])
@tasklist.user_id = current_user.id
@tasklist.tasks.user_id = current_user.id
@tasklist.amoeba_dup.save

任务也被正确复制,但 user_id 未在复制的任务中更新(仅任务列表)。我不能将模型中的 current_user.id 与 :set 一起使用。

所以我想知道我怎么能做到这一点?

4

1 回答 1

0

这是我解决问题的方法:我没有在关联中使用变形虫,而是在控制器中为关联做了一个循环,从而给了我必要的 current_user.id

@topic = Topic.find(params[:id])
@tasklist = Tasklist.find(topic_params[:tasklist])
@tasklist.user_id = current_user.id
@new_tasklist = @tasklist.amoeba_dup
@new_tasklist.save
@tasklist.tasks.each do |task|
  task.user_id = current_user.id
  task.tasklist_id = @new_tasklist.id
  task.amoeba_dup.save
end
于 2015-07-04T20:57:59.907 回答