错误的重复JSON嵌套对象 - Rails

时间:2014-06-27 06:47:59

标签: ruby-on-rails json rabl

我有一个使用rabl gem返回JSON的Rails API。以下是/show模板,该模板也扩展到/index模板。

object @deal
attributes :headline, :text, :image, :id, :created_at

child :vendor do
    attributes :image_url, :id
end

DealVendor都有图像,通过CarrierWave / Fog上传到S3。我在这里看到的问题是我返回的JSON包含了image的额外deal对象。像这样:

"deal":{"image":{"image":{"url":"httpxxxxxxxxxxxx"}}}

相比之下,供应商的JSON适当地返回:

"vendor":{"image_url":"httpxxxxxxxxxxx"}

我的上传者如下:

class DealUploader < CarrierWave::Uploader::Base
   def store_dir
     "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
   end
end

# vendor image uploader
class ImageUploader < CarrierWave::Uploader::Base
  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
end

为什么我会收到这个多余的image对象?

1 个答案:

答案 0 :(得分:0)

尝试

object @deal
attributes :headline, :text, :image_url, :id, :created_at

child :vendor do
    attributes :image_url, :id
end