我在从服务器/ api呈现json响应时尝试在作用域内加载相关对象。
ARGF
基本上,我只想返回标记为render :json => @feed.to_json({
:include => {
:feed_tracks => {
:methods => :current_feed_tracks,
:include => :track
}
}
})
的{{1}}。我在feed_tracks模型上有一个名为feed_tracks
的范围:
current
current
有很多Feed轨道,每个Feed轨道都有一个与之关联的轨道。
我想只返回标记为当前的Feed轨道并拉入相关的轨道。
上面的哈希我已经返回了所有的Feed轨道,甚至是那些标记为非当前的轨道。
我正在寻找一个看起来像这样的回复:
scope :current, -> { where(current: true) }
答案 0 :(得分:0)
尝试使用以下代码:
feed_tracks.current
答案 1 :(得分:0)
试试@ feed.feed_tracks.current.includes(:track).map(&:track)
答案 2 :(得分:0)
答案是将其包含在内,就像它是Feed的属性一样
render :json => @feed.to_json({
:include => {
:current_feed_tracks => {
:include => :track
}
}
})