Zobrazujem jeden záznam s priradením, ako je uvedené nižšie
render :json => Scheme.where("id=?", params[:id]).first
.to_json(:include => { :navs => { :only => [:schemeCode,:navDate,:navValue] }})
združenie
Scheme has_many navs
Nav belongs_to scheme
Potrebujem urobiť len posledný záznam v Nav, alevyššie bude tlačiť všetky navs, pretože jeho jeden k mnohým. Snažil som sa: limit => 1 a objednávanie v desc, ale limit sám nefunguje.Každá pomoc bude ocenený.
render :json => Scheme.where("id=?", params[:id]).first
.to_json(:include => { :navs => { :only => [:schemeCode,:navDate,:navValue], :limit => 1 }})
odpovede:
0 pre odpoveď č. 1Ak znovu vytvoríte zložitý formát json, skúste to
gem "jbuilder"
zavedené v RailsCast opustiť štruktúru na zobrazenie.Vo vašom
show.json.jbuilder
zobraziť, urobiť niečo ako:@scheme = Scheme.find(params[:id]) json.scheme @scheme.as_json json.extract! @scheme.navs.last, :schemeCode, :navDate, :navValue
, Ktorý bude poskytovať dáta vo formáte json, rovnako ako udržať váš regulátor čistý a čistý.
Použitie
Scheme.where("id=?", params[:id]).first
vo vašom kóde je možné skrátiť akoScheme.find(params[:id])
Ak tvojid
je jedinečný.