Files
grecia/app/controllers/admin/poll/questions/answers_controller.rb
Julian Herrero 24276a201e Remove useless answers show view
Until now, in order to edit an answer, we had to click on its title on
the table and then on the "Edit answer" link.

That was tedious and different from what we usually do in the admin
section. Furthermore, the code for the answers table was written twice
and when we modified it we forgot to update the one in the `show`
action, meaning the table here provided less information than the
information present in the answers tables.

Co-Authored-By: Javi Martín <javim@elretirao.net>
2022-09-14 14:45:35 +02:00

55 lines
1.2 KiB
Ruby

class Admin::Poll::Questions::AnswersController < Admin::Poll::BaseController
include Translatable
load_and_authorize_resource :question, class: "::Poll::Question"
load_and_authorize_resource class: "::Poll::Question::Answer",
through: :question,
through_association: :question_answers
def new
end
def create
if @answer.save
redirect_to admin_question_path(@question),
notice: t("flash.actions.create.poll_question_answer")
else
render :new
end
end
def edit
end
def update
if @answer.update(answer_params)
redirect_to admin_question_path(@question),
notice: t("flash.actions.save_changes.notice")
else
render :edit
end
end
def order_answers
::Poll::Question::Answer.order_answers(params[:ordered_list])
head :ok
end
private
def answer_params
params.require(:poll_question_answer).permit(allowed_params)
end
def allowed_params
attributes = [:title, :description, :given_order]
[*attributes, translation_params(Poll::Question::Answer)]
end
def resource
load_answer unless @answer
@answer
end
end