Więc wykonać zapytanie do DB i mam kompletną tablicę obiektów:Szyny filtrowania tablicę obiektów przez wartość atrybutu
@attachments = Job.find(1).attachments
Teraz mam tablicę obiektów nie chcą wykonywać kolejna kwerenda db, ale chciałbym, aby filtrować tablicę opartą na Attachment
obiektu file_type
tak, że mogę mieć listę attachments
gdzie typ pliku jest 'logo'
a następnie kolejna lista attachments
gdzie typ pliku jest 'image'
Coś tak:
@logos = @attachments.where("file_type = ?", 'logo')
@images = @attachments.where("file_type = ?", 'image')
Ale w pamięci zamiast w zapytaniu db.
Pozdrawiam
Rozwiązanie As @ Vik jest prawie idealne, po prostu dodam to w binarnych przypadkach, możesz użyć funkcji "partycji", aby wszystko było słodkie. http://ruby-doc.org/core-1.9.3/Enumerable.html#method-i-partition – Vlad
Dzięki @Vlad, to fajne, ale obsługuje tylko wtedy, gdy musimy zebrać tylko dwie rzeczy z obiektu. – Vik
Tak, właśnie dlatego powiedziałem "binarny" :). W pytaniu pojawił się wybór logo lub obrazu, więc dodałem to dla kompletności. – Vlad