Retrospring/app/controllers/announcement_controller.rb

57 lines
1.2 KiB
Ruby

# frozen_string_literal: true
class AnnouncementController < ApplicationController
before_action :authenticate_user!
def index
@announcements = Announcement.all
end
def new
@announcement = Announcement.new
end
def create
@announcement = Announcement.new(announcement_params)
@announcement.user = current_user
if @announcement.save
flash[:success] = t(".success")
redirect_to action: :index
else
flash[:error] = t(".error")
render "announcement/new"
end
end
def edit
@announcement = Announcement.find(params[:id])
end
def update
@announcement = Announcement.find(params[:id])
@announcement.update(announcement_params)
if @announcement.save
flash[:success] = t(".success")
redirect_to announcement_index_path
else
flash[:error] = t(".error")
render "announcement/edit"
end
end
def destroy
if Announcement.destroy(params[:id])
flash[:success] = t(".success")
else
flash[:error] = t(".error")
end
redirect_to announcement_index_path
end
private
def announcement_params
params.require(:announcement).permit(:content, :link_text, :link_href, :starts_at, :ends_at)
end
end