json - In Rails, how can you return model data from multiple different ActiveModelSerializers/Models at once? -


i have couple models. let's call them widget , gadget.

my #index for widget , gadget looks this

def index     widgets = widget.all     if widgets         respond_with widgets, each_serializer: api::v1::widgetserializer     else         render json: { message: [t(:not_found_widget)] }, status: :not_found     end end       def index     gadgets = gadget.all     if gadgets         respond_with gadgets, each_serializer: api::v1::gadgetserializer     else         render json: { message: [t(:not_found_gadget)] }, status: :not_found     end end  

and serializers...

class api::v1::widgetserializer < activemodel::serializer   attributes :id, :desc end   class api::v1::gadgetserializer < activemodel::serializer   attributes :id, :desc end 

however, have need resource returns both of in 1. need both widgets , gadgets returned @ once. json like...

{     "widgets": [         {             "id": 1,             "desc": "one"         },         {             "id": 2,             "desc": "two"         }     ],     "gadgets": [         {             "id": 1,             "desc": "one"         },         {             "id": 2,             "desc": "two"         }     ] } 

how can achieve this. like

widgets = widget.all gadgets = gadget.all respond_with widgets, each_serializer: api::v1::widgetserializer, gadgets, each_serializer: api::v1::gadgetserializer 

however, doesn't work.

serializer classes don't have match ar models. serializer classes should used representation of json want produce. in example, let's assume call new serializer dashboardserializer, can put both widgets , gadgets there:

class dashboardserializer < activemodel::serializer   self.root = false    attributes :widgets, :gadgets    def widgets     widget.all   end    def gadgets     gadget.all   end end 

Comments

Popular posts from this blog

node.js - Using Node without global install -

How to access a php class file from PHPFox framework into javascript code written in simple HTML file? -

java - Null response to php query in android, even though php works properly -