2011-09-21 30 views

Trả lời

9

Bạn có thể làm điều gì đó như render :json => @coupons.to_json(:include => :company), ít nhất nó dường như đã làm việc với thử nghiệm ban đầu của tôi trong đường ray 2.3.8.

trả lời chỉnh sửa để sử dụng chứ không phải là :include => :company:include => :companies

+0

Phiếu thưởng thực sự thuộc về: công ty (số nhiều)? nếu không, hãy thử ở trên nhưng: include =>: company –

+0

Bạn nói đúng, đó là lỗi đánh máy. Nó thuộc về: công ty – sgrif

+0

Tôi đã chỉnh sửa câu trả lời để hiển thị thay đổi này. – William

3

Nếu bạn cần phải giữ json của bạn càng nhỏ gọn càng tốt, tốt nhất là sử dụng phương pháp mô hình tùy chỉnh để trở về chỉ có dữ liệu bạn cần. Tôi đã kết thúc việc thêm phương thức as_json tùy chỉnh vào mô hình gốc và sử dụng tùy chọn methods để trả lại tập con của dữ liệu của đối tượng liên quan. Sử dụng include sẽ bao gồm một chuỗi tuần tự hóa đầy đủ của mô hình liên quan.

def as_json(options={}) 
    super(
    :only => [:id, :name], 
    :methods => [ 
     :organization_type_name, 
    ] 
) 
end 

def organization_type_name 
    self.organization_type.name 
end 
Các vấn đề liên quan