2011-12-14 63 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。

相關問題