2011-12-14 66 views
0

如何控制.json请求中返回的对象?我得到了相关联的对象,而不是主要对象 - 产品,而不是公司,在我下面的例子:Respond_with JSON @object发送关联对象,而不是@object?

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

你可以发布你的控制器的相关部分? – Robin 2011-12-14 16:16:12

回答

0

这似乎与on Rails的to_json,你会得到,如果一个对象的关联集合有一个通过联系在一起的集合。在这个问题中,如果删除了Enumerable,则在json中返回的对象将只是该对象。但是,在包含Enumerable的情况下,json会生成完整的集合,在这种情况下是产品。要解决这个问题,看起来你必须删除Enumerable。

相关问题