module Debates class VotesController < ApplicationController before_action :authenticate_user! load_and_authorize_resource :debate load_and_authorize_resource through: :debate, through_association: :votes_for, only: :destroy def create authorize! :create, Vote.new(voter: current_user, votable: @debate) @debate.register_vote(current_user, params[:value]) respond_to do |format| format.html { redirect_to request.referer, notice: I18n.t("flash.actions.create.vote") } format.js { render :show } end end def destroy @debate.unvote_by(current_user) respond_to do |format| format.html { redirect_to request.referer, notice: I18n.t("flash.actions.destroy.vote") } format.js { render :show } end end end end