배열의 경우 절망합니다. 일부 데이터를 배열에 넣지 만 배열의 일부를 반복하면 배열의 일부 요소가 누락 된 것으로 보이지만 누락 된 요소는 이라는보기에 표시됩니다. 플러그인 Rails_Authorization을 사용하고 있습니다. 내 코드 :Ruby on Rails Array에 누락 된 요소
def index
if !params[:task_id] #Tasks der 1. ebene anzeigen, auf die der User zugriff hat
@tasks = current_user.is_owner_of_what + current_user.is_moderator_of_what + current_user.is_user_of_what
@tasks.uniq! #doppelte Einträge auf einen reduzieren
puts @tasks
@tasks.each do |task|
puts task.id
if !task.root? #ist Task kein wurzelelement?
if (current_user.has_roles_for? Task.find(task.parent_id)) #Hat der Benutzer Rechte auf Parent Task?
@tasks.delete(task) #Objekt aus Array schmeißen da nur die Elemente der 1. Ebene dargestellt werden sollen, auf die der Benutzer Rechte hat
end
end
end
else #Wenn Subtasks angezeigt werden sollen
@task=Task.find(params[:task_id])
load_subtasks
@[email protected]
end
#@tasks = Task.all
respond_to do |format|
format.html #index.html.erb
format.xml { render :xml => @tasks }
end
end
그리고 내 디버깅 로그 :
#<Task:0x1036e6ca8>
#<Task:0x1036e3ee0>
#<Task:0x1036df958>
#<Task:0x1036dc190>
#<Task:0x1036d8ea0>
#<Task:0x1036d5138>
#<Task:0x1036d18f8>
#<Task:0x1036cbd90>
5
6
8
12
14