app/controllers/microposts_controller.rb
class MicropostsController < ApplicationController
before_action :logged_in_user, only: %i[create destroy]
before_action :correct_user, only: :destroy
def show
@microposts = Micropost.all
end
def create
@micropost = current_user.microposts.build(micropost_params)
if @micropost.save
flash[:success] = 'Micropost created!'
redirect_to root_url
else
@feed_items = []
render 'static_pages/home'
end
end
def destroy
@micropost.destroy
flash[:success] = 'Micropost deleted'
redirect_to request.referer || root_url
end
private
def micropost_params
params.require(:micropost).permit(:content, :picture)
end
def correct_user
@micropost = current_user.microposts.find_by(id: params[:id])
redirect_to root_url if @micropost.nil?
end
end