class PostsController < ApplicationController before_action :authenticate_user!, only: [:new, :create, :edit, :update, :destroy] allow_unauthenticated_access(only: [:index, :show]) before_action :set_member before_action :set_blog before_action :set_post, only: [:show, :edit, :update, :destroy] def index @posts = @blog.posts end def show end def new @post = @blog.posts.build end def create @post = @blog.posts.build(post_params) if @post.save redirect_to member_blog_post_path(@member, @blog, @post), notice: "Post created." else render :new, status: :unprocessable_entity end end def edit end def update if @post.update(post_params) redirect_to member_blog_post_path(@member, @blog, @post), notice: "Post updated." else render :edit, status: :unprocessable_entity end end def destroy @post.destroy redirect_to member_blog_path(@member, @blog), notice: "Post deleted." end private def set_member @member = Member.find(params[:member_id]) end def set_blog @blog = @member.blogs.find(params[:blog_id]) end def set_post @post = @blog.posts.find(params[:id]) end def post_params params.require(:post).permit(:post_title, :text, :mood, :music, :icon_image) end end