1

我正在使用Rails 3.2.12

我有一个A名为a. 我需要标记a_details其中是一组基于类型的属性A。没有表。_ a_details它是即时制作的。在 show 方法中,我调用了一个方法getAdetails,在响应中,我将两者作为 JSON 对象传递,A并且A_details.

这在方法中变得很棘手,index因为会有很多,我不认为我想遍历每个来创建一个数组对象并渲染它们。我正在考虑无表模型并在渲染为 JSON 时使用名为activerecord_associationusing 该方法的 gem。:include我在想,有没有更好的方法来做到这一点?

# 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
4

1 回答 1

1

使用 :methods 选项怎么样?

render json: @objects.as_json(include:'creator', methods:'getADetails')

来自http://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html#method-i-as_json

编辑返回一个数组

于 2013-06-07T17:05:59.530 回答