To jest kontynuacja do Creating "feeds" from multiple, different Rails models. W tym pytaniu tadman sugeruje ten sposób tworząc kanał obsługi najnowszych pozycji z trzech modeli (bilet, Post, sprawozdanie):Efektywne tworzenie "feedu" z wielu modeli szyn?
@items = [ Ticket, Post, Report ].inject([ ]) do |a, with_class|
a + with_class.find(:all, :limit => 10, :order => 'created_at DESC')
end.sort_by(&:created_at).reverse[0, 10]
Sugeruje to jako metodę, która będzie działać, ale niekoniecznie być najbardziej wydajnym. Sugeruje również, że alternatywną metodą byłoby "stworzenie tabeli indeksów, która ma polimorficzny związek z różnymi zapisami".
Jestem naprawdę zainteresowany tym, aby dowiedzieć się więcej o tym alternatywnym rozwiązaniu, wydaje się być bardziej wydajny i bardziej elegancki. Czy ktoś może mi powiedzieć, jak to zrobić? Wykorzystajmy te same podstawowe informacje z ostatniego pytania jako podstawy.
to wygląda obiecująco. dzięki! – jay
Jakieś pomysły, jak umieścić to w kontrolerze i renderować w widoku? nie wiesz, co masz na myśli przez "wtedy: uwzględnij wszystkie te zasoby w kanale"? – Terryfrancis