Sha256: 776d8d39e32557dff69733f27a681f5a90050b3d12c2bad4e55f730c27b481ec

Contents?: true

Size: 1.65 KB

Versions: 1

Compression:

Stored size: 1.65 KB

Contents

# Load General Controller for Engine
require_dependency "phcpresspro/application_controller"

# Code for Blog Posting
module Phcpresspro
	class Blog::PostsController < ApplicationController

		# Filters & Security
		layout 'layouts/phcpresspro/blogpost/blog_layout'
		before_action :require_user
		before_action :set_blog_post, only: [:edit, :update, :destroy]

		# Blog Post Index (/blog/posts)
		def index
			@blog_posts = Blog::Post.all
		end

		# Single Blog Post (/blog/posts/1)
		#def show
		#end

		# Create a New Blog Post (/blog/posts/new)
		def new
			@blog_post = Blog::Post.new
		end

		# Edit Blog Post (/blog/posts/1/edit)
		def edit
		end

		# Create News Post /news/posts/new
		def create
			@blog_post = Blog::Post.new(blog_post_params)
			@blog_post.user_id = current_user.uid
			if @blog_post.save  
				redirect_to blog_posts_path, notice: 'Blog post was successfully created.'
				else
					render 'new'
			end
		end

		# PATCH/PUT
		def update
			if @blog_post.update(blog_post_params)
				redirect_to blog_posts_path, notice: 'Blog post was successfully updated.'
			else
				render :edit
			end
		end

		# DELETE
		def destroy
			@blog_post.destroy
			redirect_to blog_posts_path, notice: 'Blog post was successfully destroyed.'
		end

		private

		# Define Current User
		def current_user
			@_current_user ||= AuthRocket::Session.from_token(session[:ar_token]).try(:user)
		end

		# Common Callbacks
		def set_blog_post
			@blog_post = Blog::Post.find(params[:id])
		end

		# Whitelist on what can be posted
		def blog_post_params
			params.require(:blog_post).permit(:blogpsttitle, :blogpsttext, :blogpstexcerpts, :pststatus, :pstimage, :user_id)
		end

	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
phcpresspro-2.1.2 app/controllers/phcpresspro/blog/posts_controller.rb