如何控制.json请求中返回的对象?我在下面的示例中获取关联对象,而不是主要对象 - 产品,而不是公司:
class Company
has_many :products
include Enumerable
class Product
belongs_to :company
controller Company
respond_to :html, :json
def show
@company = Company.find(1)
respond_with @company
end
**respond_with @company ==> json of products, not company!**
respond_with @company.id ==> json of :id
答案 0 :(得分:0)
对于Rails上的to_json,如果对象具有通过 Enumerable 关联的集合,您将获得该对象的关联集合。在这个问题中,如果删除包含Enumerable,则json中返回的对象将只是该对象。但是在包含Enumerable的情况下,json会产生完整的集合,在本例中是产品。要解决此问题,您似乎必须删除Enumerable。