【发布时间】:2014-10-14 15:09:16
【问题描述】:
我正在尝试制作一个使用 JSON 将信息发送到 iOS 应用程序的 API。
我的控制器有一个方法叫做 `index:
def index
@news = News.all
@banners = News.get_news_banners @news
render json: { all_news: @news.as_json( only: [:id, :headline], include: [:thumbnail]), success: true, banners: @banners.as_json }
end
News 模型有一个名为 thumbnail 的方法,我将其作为 JSON 方法传递给它:
def thumbnail
image_multimedia = self.multimedia.where(file_type: Multimedia.file_types[:picture]).all
if image_multimedia.empty?
self.banners.last.image_file.url(:preview)
else
image_multimedia.each do |m|
m.asset.url(:preview)
end
end
end
收到的 JSON 如下所示:
{
all_news: [1]
0: {
id: 4
headline: "some new"
thumbnail: [1]
0: {
id: 4
server_location: null
created_at: "2014-10-14T13:13:33.000Z"
updated_at: "2014-10-14T13:13:33.000Z"
asset_file_name: "Screenshot_from_2014-09-25_11_10_41.png"
asset_content_type: "image/png"
asset_file_size: 6785
asset_updated_at: "2014-10-14T13:13:33.000Z"
storable_type: "News"
storable_id: 4
file_type: null
}-
-
}-
-
我希望我的方法只返回 URL,而不是整个对象数据。
【问题讨论】:
-
您的 JSON 无效,请使用您收到的正确字符串。我们需要有有效的输入数据才能为您提供帮助。
标签: ruby-on-rails ruby json api ruby-on-rails-4