我使用ruby gem CarrierWave来处理我的rails应用程序上的图像,这是一个移动后端API。有没有办法将图像url和thumb url直接存储在父对象上?
这是默认行为,显示在post对象的json中。注意嵌套的JSON:
{
created_at: "2012-11-17T18:24:04Z",
description: "this is the content",
id: 6,
user_id: 1,
picture: {
url: "/uploads/entry/picture/6/wtf_llama.jpeg",
thumb: {
url: "/uploads/entry/picture/6/thumb_wtf_llama.jpeg"
}
},
updated_at: "2012-11-26T08:16:43Z"
}
我想看到的内容:
{
created_at: "2012-11-17T18:24:04Z",
description: "this is the content",
id: 6,
user_id: 1,
picture_url = "/uploads/entry/picture/6/wtf_llama.jpeg",
thumb_url = "/uploads/entry/picture/6/thumb_wtf_llama.jpeg"
updated_at: "2012-11-26T08:16:43Z"
}
这可能吗?
答案 0 :(得分:2)
为什么要在模型中存储这些路径?改进响应(视图或控制器),而不是持久层(模型)。我认为使用as_json最容易实现。可以添加picture_url
方法来建模或合并其他条目到最终哈希。