加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails 4渲染json嵌套对象

发布时间:2020-12-16 21:12:33 所属栏目:百科 来源:网络整理
导读:我需要渲染Json一个复杂的结构.我有下一个结构工作: render :json = @booking,:include = [:paypal,:boat_people,:boat = {:only = :boat_model,:include = {:boat_model = {:only = :name,:include = { :boat_type = {:only = :name}}}}}] 但是我无法将一
我需要渲染Json一个复杂的结构.我有下一个结构工作:
render :json => @booking,:include => [:paypal,:boat_people,:boat => {:only => :boat_model,:include => {:boat_model => {:only => :name,:include => { :boat_type => {:only => :name}}}}}]

但是我无法将一些其他嵌套属性的port属性添加到:boat,例如:boat_model(在同一级别).

更新:

虽然它不起作用,但我包含了我的port属性.

render :json => @booking,:boat => {:only => [:boat_model => {:include => {:boat_model => {:only => :name,:include => { :boat_type => {:only => :name}}}}},:port => {:include => :city => {:only => name}}]}]

我的意思是,boat_model和port都是船的属性.

这是模型对象:

class Boat < ActiveRecord::Base

  attr_accessor :price
  @price

  attr_accessor :extrasPrice
  @extrasPrice

  def as_json(options = { })
    h = super(options)
    h[:price] = @price    
    h[:extrasPrice] = @extrasPrice
    h
  end


  belongs_to :boat_model
  belongs_to :port
  belongs_to :state
  has_many :photos
end

解决方法

我知道了.
render :json => @booking,:boat => {:only => :name,:include => {:port => {:only => :name,:include => {:city => {:only => :name,:include => {:country => {:only => :name}}}}},:boat_model => {:only => :name,:include => {:boat_type => {:only => :name}}}}}]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读