Sha256: 64acbf876ad924503ab83a155bd5b39bc9583ba3f17ba1aba59c6536ce1fa430

Contents?: true

Size: 1.39 KB

Versions: 3

Compression:

Stored size: 1.39 KB

Contents

require_dependency "personal_blog/application_controller"

module PersonalBlog
  class PostsController < ApplicationController
    before_action :set_post, only: [:show, :edit, :update, :destroy]
    before_filter :authorize, except: [:index, :show]

    # GET /posts
    def index
      if params[:tag]
        @posts = Post.tagged_with(params[:tag])
      else
        @posts = Post.all
      end
    end

    # GET /posts/1
    def show
    end

    # GET /posts/new
    def new
      @post = Post.new
    end

    # GET /posts/1/edit
    def edit
    end

    # POST /posts
    def create
      @post = Post.new(post_params)

      if @post.save
        redirect_to @post, notice: 'Post was successfully created.'
      else
        render :new
      end
    end

    # PATCH/PUT /posts/1
    def update
      if @post.update(post_params)
        redirect_to @post, notice: 'Post was successfully updated.'
      else
        render :edit
      end
    end

    # DELETE /posts/1
    def destroy
      @post.destroy
      redirect_to posts_url, notice: 'Post was successfully destroyed.'
    end

    private
      # Use callbacks to share common setup or constraints between actions.
      def set_post
        @post = Post.find(params[:id])
      end

      # Only allow a trusted parameter "white list" through.
      def post_params
        params.require(:post).permit(:title, :body, :all_tags)
      end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
personal_blog-0.0.3 app/controllers/personal_blog/posts_controller.rb
personal_blog-0.0.2 app/controllers/personal_blog/posts_controller.rb
personal_blog-0.0.1 app/controllers/personal_blog/posts_controller.rb