JBuilder를 사용하여 Json 응답을 생성하는 종단점과 종단점이 있습니다. 그러나이 Json은 매우 느리게 작성되며이 요청은 수초마다 수행되며 매번 업데이트 할 필요가 없기 때문에 캐시하기로했습니다.값 비싼 JBuilder는 자주 재발신합니다.
중첩 된 특성을 가진 복잡한 자식이며 일부 모델 연결에 액세스합니다.
json 결과를 캐시하고 매 x 분마다 사용자에게 렌더링하는 방법은 무엇입니까?
file.json.jbuilder :
json.array!(@photos) do |photo|
json.extract! photo, :id, :title, :description, :image_updated_at
json.camera_roll_image_url URI.join(request.url, photo.image.url(:camera_roll)).to_s
json.original_image_url URI.join(request.url, photo.image.url).to_s
json.has_picture true
json.girl do
json.extract! photo.girl, :id, :name, :phone, :ddd, :country_code, :approved, :gender, :likes, :is_ad, :ad_type
json.user_liked photo.girl.liked_by_user?(@user)
if(photo.girl.is_ad == 1)
json.ad_info do
json.extract! photo.girl, :price, :description, :address, :ad_type
end
end
json.is_featured photo.girl.is_featured?
json.avatar URI.join(request.url, photo.girl.avatar.url(:thumb)).to_s
json.age photo.girl.age
json.country_num_code photo.girl.country_num_code
json.type photo.girl.type
end
json.check_in do
json.extract! photo.girl.check_ins.last, :latitude, :longitude
end
json.userLat @userLat
json.userLong @userLong
json.likes photo.likes
json.user_liked photo.liked_by_user? @current_user
end