현재 선택 ID가 이미 모든 결과를 반복하고 배열을 작성하지 않고도 Datamapper 결과의 일부인지 알 수있는 가장 우아한 방법은 무엇입니까?Datamapper - 결과 집합에 포함 된 ID
@saved_item = Array.new
current_user.items.all.each do |item|
@saved_items.push(item.id)
end
if (@saved_items.include?(selection.id))
true
else
false
end
흠 #detect가 주어진 ID로 항목을 반환 할 것이라고 확신합니다. #any를 사용 하시겠습니까? 대신 다음과 같이하십시오 : current_user.items.all.any? {| i | i.id == selection.id} – solnic
solnic이 맞다.'# detect'는 주어진 블록이 true를 반환하는 첫 번째 인스턴스를 반환하고 콜렉션의 인스턴스가 하나도없는 경우 nil을 반환합니다. –