컬렉션 map에서 요소 스킵하는법
상황
해결
scope :for_guild_index, -> (guild_id) do
WarRequest.joins(:war_statuses).where(war_statuses: {guild_id: guild_id, position: "enemy"}, status: "pending")
.order(start_date: :asc)
.reject { |request| request.update(status: "canceled") if request.start_date.past? }
.map { |request|
challenger_guild_stat = request.war_statuses.find_by_position("challenger")&.guild.profile
war_request = request.as_json(except: [:start_date, :end_date, :war_time])
war_request['start_date'] = request.start_date.strftime("%F")
war_request['end_date'] = request.end_date.strftime("%F")
war_request['war_time'] = request.war_time.strftime("%H")
war_request.merge!( challenger: challenger_guild_stat )
}
endLast updated