kissingcomputer/app/controllers/blogs_controller.rb

68 lines
1.4 KiB
Ruby
Raw Normal View History

2026-01-10 16:17:07 +00:00
class BlogsController < ApplicationController
before_action :authenticate_user!, only: [:destroy, :new, :create, :edit, :update]
allow_unauthenticated_access(only: %i[index show])
before_action :set_member
before_action :set_blog, only: [:show, :edit, :update, :destroy]
def index
@posts = Post.order(created_at: :asc)
end
def edit
@blog = Blog.find(params[:id])
end
def new
@blog = @member.blogs.new
@blog = @member.blogs.build
end
def create
@blog = @member.blogs.new(blog_params)
if @blog.save
redirect_to root_path, notice: 'Blog was successfully created.'
else
render :new, notice: 'Could not save blog.'
end
end
def destroy
@member = Member.find(params[:member_id])
@blog = @member.blogs.find(params[:id])
@blog.destroy
redirect_to member_path(@member), notice: "Blog deleted."
end
def show
@member = Member.find(params[:member_id])
@blog = @member.blogs.find(params[:id])
@posts = @blog.posts.order(created_at: :desc)
end
def update
@blog = Blog.find(params[:id])
if @blog.update(blog_params)
redirect_to member_blog_path(@member)
else
render :edit
end
end
end
private
def blog_params
params.require(:blog).permit(:title, :links, :description)
end
def set_member
@member = Member.find(params[:member_id])
end
def set_blog
@blog = @member.blogs.find(params[:id])
end