2015-07-04 16 views
0

我有一個任務列表&任務模型。關聯設置current_user.id(使用阿米巴重複)

我正在使用gem amoeba複製一個任務列表及其相關的任務。任務列表&任務都有一個user_id字段。

默認情況下user_id設置爲NULL。

當我複製時,我想將user_id設置爲current_user.id(來自Devise)。

我能夠在任務列表中使用正確的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是不是在複製任務更新的(唯一的任務列表)。我不能在Model with:set中使用current_user.id。

所以我想知道我怎麼能做到這一點?

回答

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