我正在使用 Rails 3.2.12 。
我有一个模型A
和一个名为a
的表。我需要在a_details
中标记,这是一组基于A
类型的属性。 a_details
有 no 表。它是在飞行中制作的。在show方法中,我正在调用方法getAdetails
,并且在响应中我将两者都作为JSON对象传递,A
和A_details
。
这在index
方法中变得棘手,因为会有很多,我不认为我想循环遍历每一个来创建一个数组对象并渲染它们。我正在考虑无表格模型,并在渲染为JSON时使用activerecord_association
方法使用名为:include
的gem。我在想,有没有更好的方法呢?
# show method.
a = A.new
@a_detail = @a.getADetails
response = {:notification => @a.as_json(:include => :creator), :a_detail => @a_detail}
#index
respond_to do |format|
format.html # index.html.erb
format.json { render json: @objects.as_json(:include => :creator) }
end
答案 0 :(得分:1)
如何使用:methods选项?
render json: @objects.as_json(include:'creator', methods:'getADetails')
来自http://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html#method-i-as_json
编辑返回数组