2013-03-09 3 views
7

Używam active_model_serializers i chciałby znaleźć sposób, aby obejmować wszystkie atrybuty modelki domyślnie i następnie użyć czegoś jak tenJak używać active_model_serializers do domyślnego uwzględnienia wszystkich atrybutów i ich filtrowania?

 exclude :date_created, :first_name 

określić te, które nie potrzebują.

Do tej pory nie mogę znaleźć sposobu, aby określić eksportowane atrybuty oprócz jednego w docs i że odbywa się poprzez wyliczanie wszystkich potrzebnych atrybutów:

 attributes :title, :body 

Odpowiedz

8

Można zrobić coś takiego na model serializer (biorąc przykład użytkownika jako modelu):

class UserSerializer < ApplicationModelSerializer 
    attributes(*User.attribute_names.map(&:to_sym)) 
end 

Więcej informacji o attribute_names ActiveRecord można znaleźć tutaj: http://apidock.com/rails/ActiveRecord/AttributeMethods/attribute_names

+1

Tha nk ciebie. Ostateczne rozwiązanie to: 'atrybuty (* (User.attribute_names - [" date_created "," first_name "]) .map (&: to_sym))' – tavi

+0

Mam błąd w tym, pls odnoszą się do mojej odpowiedzi tutaj: http : //stackoverflow.com/a/27701138/243797 – xhh

+0

niestety 'attributes' nie przyjmuje tablicy jako danych wejściowych :( – Tilo

Powiązane problemy