Sha256: 9d641edf86a8b0240aacbfa2ea18d42e6e43b9c4296457fc4dc8796f719efc6d

Contents?: true

Size: 759 Bytes

Versions: 2

Compression:

Stored size: 759 Bytes

Contents

require_dependency "rails_voter/application_controller"

module RailsVoter
  class BallotFormsController < ApplicationController
    expose :ballot_forms, -> { BallotForm.all }
    expose :ballot_form, model: RailsVoter::BallotForm

    def new
      10.times do
        ballot_form.ballot_form_details.new
      end
    end

    def create
      if ballot_form.save
        redirect_to ballot_forms_path
      else
        render :new
      end
    end

    def update
      if ballot_form.update(ballot_form_params)
        redirect_to ballot_forms_path
      else
        render :new
      end
    end

    private

    def ballot_form_params
      params.require(:ballot_form).permit(:name, ballot_form_details_attributes: [:name, :id])
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rails_voter-0.0.3 app/controllers/rails_voter/ballot_forms_controller.rb
rails_voter-0.0.2 app/controllers/rails_voter/ballot_forms_controller.rb