parent
054e32366a
commit
cca68f8dd7
@ -0,0 +1,29 @@
|
|||||||
|
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
|
Loading…
Reference in new issue