如果我想在rails中加載一個集合並將其呈現在json中,我將不得不這樣做。急於加載和導軌地圖3
@photos = @event.photos.to_json(:include =>
{:appearances => {:include => :person}}
)
如果我想映射這個集合呢?正如你所看到的,它不再是一個集合,而是一個json字符串。在此之前,有必要預先加載,我做了以下內容:
@photos = @event.photos.map{|photo|
photo['some_funky_stuff'] = photo.funky_calculation
photo
}
但是,我似乎無法能夠在兩件事情一起做:
@event.photos.map{|photo|
photo['some_funky_stuff'] = photo.funky_calculation
photo
}.to_json(:include =>
{:appearances => {:include => :person}}
)
上面不顯示'外表「(急切加載的加入記錄)......我如何將這兩者結合在一起?非常感謝!
這增加了funky_calculation作爲一個屬性,但是如果我想要映射記錄本身?例如,我有一個屬性叫做縣,它是由座標派生的,我如何將項目本身添加到項目本身而不是funky_calculation.county? – jdkealy
那麼,如果它是一個記錄,那麼你可以把它放在:include hash和外觀一起,但是如果你想讓縣在照片中顯示爲屬性,那麼只需在Photo類中創建一個方法,調用funky_calculation.county然後將該方法放在:methods數組中。 – DanneManne