Me lo faresti un esempio? Non avrei proprio idea di come fare.
http://railscasts.com/episodes/52-up...ugh-checkboxes

Sono io che mi sono perso qualcosa o questo codice ritorna sempre false a meno che un find non sollevi un'eccezione perché non trova un id?
find non solleva eccezione in quel caso perché gli passi come parametro un array. Se non ricordo male, se un ID non esiste lui lo ignora. Al contrario di find(id).
Destroy ritorna true o false a seconda che la cancellazione sia andata o meno a buon fine (per vari motivi).
Usando map tu collezioni la sequenza di return e quindi avrai che se un elemento è false, allora quel record non è stato cancellato.