2013-08-10 17 views
8

Niesamowicie, nie znaleźć nic na ten temat ...Jak sortować Szyny Aktywna reakcja modelu serializers'

Jak mogę rozwiązać mój serwer JSON Rails dostarcza? Obecnie używam ActiveModel serializer:

embed :ids, include: true 
attributes :id, :name 

has_many :places 

Chciałbym sortować wbudowanego places.

Jedyna odpowiedź, jaką znalazłem, to this SO question, ale objaśnia ona sposób sortowania serializatorów domyślnie zamiast sortowania.

Odpowiedz

19

Możesz zdefiniować go jako własność i sortować. Np:

def places 
    object.places.order("title") 
end 

https://github.com/rails-api/active_model_serializers#associations

+0

I oznaczony jako odpowiedź zaakceptowana bo mnie wyposażona lepsze słowo kluczowe: 'order'. Szukałem "sortowania" i nie otrzymałem żadnego wyniku, ale z 'order' mam to pytanie SO (http://stackoverflow.com/questions/6972406/rails-render-as-json-include-nested-attribute -i-sort), który wyjaśnia inne metody robienia tego, co chciałem - twój też działa jak czar. –

+3

Szybka uwaga, jeśli twój obiekt podrzędny również przechodzi przez serializer, to go zepsuje i powróci do używania as_json – FearMediocrity

+0

Dziwne, że nie ma tego samego DSL co powiązania modelu, w którym można po prostu umieścić tam porządek. – emptywalls