2016-03-09 2 views
0

Я использую активных сериализаторов модели, чтобы установить выходные данные json в REST API, так же, как и следующие данные.добавить пользовательский столбец в активных сериализаторах модели

{ 
    "articles": [ 
    { 
     "id": 20, 
     "show_map": true, 
     "tag": { 
     "id": 6, 
     "name": "Fake Atticle" 
     } 
    }, 
    { 
     "id": 19, 
     "show_map": true, 
     "tag": { 
     "id": 6, 
     "name": "Fake Atticle" 
     } 
    } 
    ] 
} 

Это хорошо, но я хочу, чтобы добавить некоторые пользовательские данные, прежде чем мои данные, что-то вроде:

{ 
    "msg": "done", 
    "status": "ok", 
    "articles": [ 
    { 
     "id": 20, 
     "show_map": true, 
     "tag": { 
     "id": 6, 
     "name": "Fake Atticle" 
     } 
    } 
    ] 
} 

Я не знаю, как это сделать, я попытался несколько способов, но никто не может что я хочу. Я попытался respond_with, вынести: JSON, .to_json ...

и самое главное, я хочу это может быть общее решение/метод для всех API, так что я стараюсь писать метод в моем application_controller.rb:

def send_json(data) 

    render :json => { 
     result: "200", 
     msg: "qq", 
     data: data } 
end 

, но таким образом, мои настройки сериализаторов все бесполезно, он сделает все колонки в моей базе данных ...

, что это лучший способ осуществить это?

ответ

0

вы можете сделать, как это

render json: data, 
     message: 'done', 
     status: 200, 
     serializer: ::SerializerName, root: true