Emi Matchu
217d25edab
Oh right, yeah, we like to do things gracefully around here when there's no corresponding color/species record yet! Paying more attention to this, I'm thinking like… it could be a cool idea to, in modeling, *create* the new color/species record, and just not have all the attributes filled in yet? Especially now that we're less dependent on attributes like `standard` to be set for correct functioning. But for now, we follow the same strategy we do elsewhere in the app: a pet type can have `color_id` and `species_id` that don't correspond to a real record, and we cover over that smoothly.
27 lines
590 B
Ruby
27 lines
590 B
Ruby
class PetStatesController < ApplicationController
|
|
before_action :find_pet_state
|
|
before_action :support_staff_only
|
|
|
|
def edit
|
|
end
|
|
|
|
def update
|
|
if @pet_state.update(pet_state_params)
|
|
flash[:notice] = "Pet appearance \##{@pet_state.id} successfully saved!"
|
|
redirect_to @pet_type
|
|
else
|
|
render action: :edit, status: :bad_request
|
|
end
|
|
end
|
|
|
|
protected
|
|
|
|
def find_pet_state
|
|
@pet_type = PetType.find_by_param!(params[:pet_type_name])
|
|
@pet_state = @pet_type.pet_states.find(params[:id])
|
|
end
|
|
|
|
def pet_state_params
|
|
params.require(:pet_state).permit(:pose, :glitched)
|
|
end
|
|
end
|