class TheatreProgrammesController < ApplicationController def index limit = params[:limit].to_i limit = 100 if limit <= 0 position_gt = params[:position_gt].to_i position_gt = 0 if position_gt < 0 programmes = TheatreProgramme .where(theatre_id: params[:theatre_id]) .where('position > ?', position_gt) .includes(post: [:uploaded_user, :parents, :children, { thumbnail_attachment: :blob }, { tags: [:deerjikists, :materials, { tag_name: :wiki_page }] }]) .order(position: :desc).limit(100) .limit(limit) render json: programmes.map { |programme| programme.as_json.merge(post: PostRepr.base(programme.post)) } end end