我的模型中有一个名为“file_url(:thumb)”的自定义方法,用于接收特定的缩略图文件URL。该方法由carrierwave gem提供。
它未存储在我的数据库中。如何将此虚拟属性添加到@document,以便在转换为json时包含它?
module Api
module V1
class DocumentsController < ApiController
respond_to :json
def show
@document = Document.find(params[:id])
respond_to do |format|
format.json { render json: @document }
format.xml { render xml: @document }
end
end
end
end
end
答案 0 :(得分:1)
您需要在Document模型中定义自己的as_json方法。像这样的东西可以解决这个问题:
def as_json(options = { })
h = super(options)
h[:thumb_url] = file_url(:thumb)
h
end