2017-01-29 33 views
0

我想在從我的服務器/ api呈現JSON響應時加載範圍內的相關對象。Rails在範圍內呈現相關模型

render :json => @feed.to_json({ 
    :include => { 
    :feed_tracks => { 
     :methods => :current_feed_tracks, 
     :include => :track 
    } 
    } 
}) 

基本上,我只想返回feed_tracks標記爲current。我對feed_tracks模型範圍稱爲current

scope :current, -> { where(current: true) } 

Feed有很多供給道,每個送料導軌具有與之關聯的軌道。

我想僅返回標記爲當前的饋送軌道並拉入其相關軌道。

上面的散列我已經返回所有的feed軌道,甚至那些標記爲不是當前的軌道。

我要尋找看起來像這樣的迴應:

feed: { 
    id: 123, 
    feed_tracks: [ 
    { 
     id: 123, 
     current: true 
    }, 
    { 
     id: 456, 
     current: true 
    } 
    ] 
} 

回答

0

的答案是包括它喜歡它是進料的屬性

render :json => @feed.to_json({ 
    :include => { 
    :current_feed_tracks => { 
     :include => :track 
    } 
    } 
}) 
0

嘗試用下面的代碼:

feed_tracks.current 
+0

閱讀我的問題 – gattra

0

嘗試@ feed.feed_tracks.current.includes(:軌道).MAP( &:軌道)

+0

這不能解決我的問題 – gattra

相關問題