/ / रेल्स_जॉसन सीमा सहित एसोसिएशन - रूबी-ऑन-रेल्स, रूबी-ऑन-रेल्स -4, एसोसिएशन, टू-जोंस

रेल से tojon सीमा के साथ सहयोग सहित - रूबी-ऑन-रेल, रूबी-ऑन-रेल -4, एसोसिएशन, टू-जेसन

मैं नीचे की तरह एसोसिएशन के साथ एक रिकॉर्ड प्रदान कर रहा हूं

render :json => Scheme.where("id=?", params[:id]).first
.to_json(:include => { :navs => { :only => [:schemeCode,:navDate,:navValue] }})

संघों

Scheme has_many   navs
Nav    belongs_to scheme

मुझे नेव में केवल पिछले रिकॉर्ड को प्रस्तुत करना है, लेकिनऊपर से एक के बाद एक कई के लिए सभी नौसेनाओं को मुद्रित करेगा। मैंने कोशिश की: सीमा => 1 और इसे desc में ऑर्डर करना, लेकिन खुद को काम नहीं करने की सीमा है। किसी भी मदद की सराहना की जाएगी

render :json => Scheme.where("id=?", params[:id]).first
.to_json(:include => { :navs => { :only => [:schemeCode,:navDate,:navValue], :limit => 1 }})

उत्तर:

जवाब के लिए 0 № 1
  1. यदि आप एक जटिल json प्रारूप बना रहे हैं, तो प्रयास करें gem "jbuilder" में पेश किया RailsCast देखने के लिए संरचना को छोड़ दें।

    आपके में show.json.jbuilder देखें, इसे कुछ इस तरह बनाएं:

    @scheme = Scheme.find(params[:id]) json.scheme @scheme.as_json json.extract! @scheme.navs.last, :schemeCode, :navDate, :navValue

    जो कि डेटा को json फॉर्मेट में रेंडर करेगा और साथ ही आपके कंट्रोलर को साफ सुथरा रखेगा।

  2. का उपयोग Scheme.where("id=?", params[:id]).first अपने कोड में के रूप में छोटा किया जा सकता है Scheme.find(params[:id]) यदि आपका id अनोखा है।