2013-03-09 5 views
7

मैं active_model_serializers उपयोग कर रहा हूँ और एक तरह से डिफ़ॉल्ट रूप से सभी मॉडल की विशेषताओं को शामिल करने को खोजने के लिए चाहते हैं और फिर लोगों को लगता है कि मैं की जरूरत नहीं है निर्दिष्ट करने के लिए इसडिफ़ॉल्ट रूप से सभी विशेषताओं को शामिल करने और उन्हें फ़िल्टर करने के लिए मैं सक्रिय_model_serializers का उपयोग कैसे करूं?

 exclude :date_created, :first_name 

की तरह कुछ का उपयोग करें।

अब तक मैं डॉक्स में एक के अलावा निर्यात गुण निर्दिष्ट करने के लिए एक तरह से नहीं मिला और कहा कि जरूरत विशेषताओं के सभी गणना करके किया जाता है:

 attributes :title, :body 

उत्तर

8

आप इस पर की तरह कुछ कर सकता है अपने मॉडल serializer (मॉडल के रूप में उपयोगकर्ता का एक उदाहरण लेने):

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

ActiveRecord attribute_names बारे में अधिक जानकारी यहां पाया जा सकता: http://apidock.com/rails/ActiveRecord/AttributeMethods/attribute_names

+1

था एनके आप अंतिम समाधान होगा: 'विशेषताएं (* (User.attribute_names - [" date_created "," first_name "]) .map (&: to_sym))' – tavi

+0

मुझे इसके लिए एक त्रुटि मिली, कृपया मेरा उत्तर यहां देखें: http : //stackoverflow.com/a/27701138/243797 – xhh

+0

दुर्भाग्यवश 'विशेषताएँ' इनपुट के रूप में एक सरणी स्वीकार नहीं करती है :( – Tilo

संबंधित मुद्दे

 संबंधित मुद्दे