在我的代碼中,管理員可以添加用戶併爲他們分配任務。如果管理員決定刪除用戶,我想檢查用戶可能分配給的任何作業並將其更新分配給管理員。由於用戶刪除發生在我的user_controller並調用Jobs,這是最好的方式嗎?如果不是的話,可否請您提供一個最有效的方法來做到這一點,特別是如果用戶被分配到1-N作業?提前致謝。Rails:update_attribute調用多個控制器/模型?
users_controller.rb
def destroy
if admin?
jobs = Job.where("user_id = ?", params[:id]) #find jobs where user is that being deleted
jobs.each do |job|
job.update_attribute(:user_id, current_user.id) #for each job set the user_id to the admin_id
end
end
redirect_to users_url
end
謝謝,這很好。 – user464180