class CombatsController < ApplicationController COMBATS_RENDER_CONFIG = { left_fighter: { only: CreaturesController::SHOWABLE_ATTRIBUTES }, right_fighter: { only: CreaturesController::SHOWABLE_ATTRIBUTES }, winner: { only: CreaturesController::SHOWABLE_ATTRIBUTES }, } def create left_fighter = Creature.find(params[:left_fighter_id]) right_fighter = Creature.find(params[:right_fighter_id]) @combat = Combat.new(create_params) @combat.left_fighter = left_fighter @combat.right_fighter = right_fighter @combat.baston! @combat.left_fighter.save! @combat.right_fighter.save! @combat.save! render json: @combat.as_json(include: COMBATS_RENDER_CONFIG) rescue ActiveRecord::RecordNotFound render json: {}, status: 404 end private def create_params params.require(:combat).permit(:name) end end