显示不会呈现正确的json

时间:2014-10-23 15:43:55

标签: ruby-on-rails ruby json

我试图在我的vehicle_controller中使用以下内容在我的JSON中包含一些额外的位:

  # GET /vehicles/1
  # GET /vehicles/1.json
  def show
    @vehicle = Vehicle.find(params[:id])

    respond_to do |format|
      format.json { @vehicle.to_json(:methods => [:product_applications_with_notes], :include => [:product_applications]) }
    end
  end

车辆模型同时具有方法:product_applications_with_notes和关系has_many: :product_applications。但是,当我向http://localhost:3000/vehicles/1运行请求时,JSON输出如下:

{     " id":1,     " make":" Acura",     " model":" ALL",     "年":2001年,     " body_style":" Car",     " created_at":" 2014-10-22T20:06:00.157Z",     " updated_at":" 2014-10-22T20:07:09.827Z" }

它不显示包含的额外位。为什么呢?

1 个答案:

答案 0 :(得分:0)

尝试覆盖Vehicle model中的as_json方法。

类似的东西:

  def as_json(options=nil)
    json_hash = super(options)
    json_hash[:product_applications] = product_applications

    json_hash
  end