class MembersController < ApplicationController before_action :authenticate_user!, only: [:new, :edit, :update, :create, :destroy] allow_unauthenticated_access(only: %i[index show]) def index @members = Member.all end def blogs @blog = Blog.all end def edit @member = Member.find(params[:id]) end def new @member = current_user.members.new end def update @member = Member.find(params[:id]) if @member.update(member_params) redirect_to @member else render :edit end end def create @member = current_user.members.new(member_params) if @member.save redirect_to @member else redirect_to root_path end end def destroy @member = Member.find(params[:id]) @member.destroy redirect_to member_path(@member), notice: "Member deleted." end def show @member = Member.find_by(id: params[:id]) if @member.nil? flash[:alert] = "Member not found" redirect_to root_path return end end end private def member_params params.require(:member).permit(:name, :avatar_image, :bio, :links, :birthday, :pronouns, :system_role, :age, :tv_interests, :music_interests, :other_interests) end