1
У меня есть модель News
с подключением Carrierwave AttachmentUploader.Rails добавить поля к камню несущей волны
JSON результат выглядит следующим образом:
{
"id": 158,
"title": "title1",
"description": "desc1",
"category": "ipsum",
"attachments": [
{
"url": "/uploads/news/attachments/158/Tesla_P100D_App_v3.0_Review.mp4",
"content_type": "application/mp4"
}
],
"created_at": "2017-02-14T08:34:14.119Z"
}
Я хочу добавить thumbnail
поле для Carrierwave, чтобы получить выходной ток:
{
"id": 158,
"title": "title1",
"description": "desc1",
"category": "ipsum",
"attachments": [
{
"url": "/uploads/news/attachments/158/Tesla_P100D_App_v3.0_Review.mp4",
"content_type": "application/mp4",
"thumbnail": {
"name": "Tesla_P100D_App_v3.0_Review",
"url": "/uploads/news/attachments/158/Tesla_P100D_App_v3.0_Review.png"
}
}
],
"created_at": "2017-02-14T08:34:14.119Z"
}
Вот мой NewsSerializer
:
class NewsSerializer < ActiveModel::Serializer
attributes :id, :title, :description, :latitude, :longitude, :category, :tag_list, :avg_rating, :attachments, :created_at
def attachments
a=[]
object.attachments.each do |att|
a << {url: att.url, content_type: att.content_type}
end
a
end
end
Как мне это сделать?
Не добавлять дополнительные поля вы можете достичь его с активной записи сериализатором. Можете ли вы обновить свой полный json? –
@DipakG. просто обновил код. Мне нужно сохранить url 'thumbnail', который будет отправлен мне клиентом. Как это сделать с помощью сериализатора? –