Ruby on rails Rails:ActiveRecord:如何提取具有关联的记录并呈现为json
我有三种型号Ruby on rails Rails:ActiveRecord:如何提取具有关联的记录并呈现为json,ruby-on-rails,json,activerecord,Ruby On Rails,Json,Activerecord,我有三种型号 住宿 住宿类型 位置 住宿类型有许多住宿 地点有许多住宿 住宿属于住宿和位置 我想将住宿与住宿类型和位置一起呈现为json的一部分 我试过的是- 第一 第二 我知道我可以得到它 accommodations = Accommodation.all render :json => accommodations.to_json(:include => [:location, :accommodation_type]) and return 但是,我需要将住宿作为ret
- 住宿
- 住宿类型
- 位置
住宿类型
有许多住宿
地点
有许多住宿
住宿
属于住宿
和位置
我想将住宿
与住宿类型
和位置
一起呈现为json的一部分
我试过的是-
第一
第二
我知道我可以得到它
accommodations = Accommodation.all
render :json => accommodations.to_json(:include => [:location, :accommodation_type]) and return
但是,我需要将
住宿
作为return\u obj
的一部分,以下应该有效:
render :json => Accommodation.all.to_json(:include => [:location, :accommodation_type]) }
我已经找到了一个解决方案,但我不确定它是否是最好的
return_obj = {}
return_obj[:error] = false
accommodations = Accommodation.all
return_obj[:accommodations] = JSON.parse(accommodations.to_json(:include => [:location, :accommodation_type]))
render :json => return_obj and return
请让我知道,如果你有更好的解决方案给出相同的结果
谢谢。是的。我知道这很有效。我想将住宿放入return_obj并将return_obj呈现为json。请看我问题的结尾。
render :json => Accommodation.all.to_json(:include => [:location, :accommodation_type]) }
return_obj = {}
return_obj[:error] = false
accommodations = Accommodation.all
return_obj[:accommodations] = JSON.parse(accommodations.to_json(:include => [:location, :accommodation_type]))
render :json => return_obj and return