class Admin::PostsController
Public Instance Methods
create()
click to toggle source
# File lib/ecrire/app/controllers/admin/posts_controller.rb, line 39 def create @post = Admin::Post.create(title: title_params[:title]) if @post.errors.any? render 'new' and return end redirect_to url('/admin/posts/:post.id/edit', post: @post) end
destroy()
click to toggle source
# File lib/ecrire/app/controllers/admin/posts_controller.rb, line 49 def destroy post = Admin::Post.find(params[:id]) post.destroy redirect_to :root end
drafts()
click to toggle source
# File lib/ecrire/app/controllers/admin/posts_controller.rb, line 22 def drafts posts = Admin::Post posts = posts.search search_posts_params @posts = posts.drafted.order('posts.created_at DESC').includes(:titles) render 'index' end
edit()
click to toggle source
# File lib/ecrire/app/controllers/admin/posts_controller.rb, line 55 def edit end
index()
click to toggle source
# File lib/ecrire/app/controllers/admin/posts_controller.rb, line 10 def index posts = Admin::Post posts = posts.search search_posts_params @posts = posts.order('posts.created_at DESC').includes(:titles) respond_to do |format| format.html format.js end end
new()
click to toggle source
# File lib/ecrire/app/controllers/admin/posts_controller.rb, line 6 def new @post = Admin::Post.new end
published()
click to toggle source
# File lib/ecrire/app/controllers/admin/posts_controller.rb, line 31 def published posts = Admin::Post posts = posts.search search_posts_params @posts = posts.published.order('posts.published_at DESC').includes(:titles) render 'index' end
show()
click to toggle source
# File lib/ecrire/app/controllers/admin/posts_controller.rb, line 65 def show respond_to do |format| format.html do render layout: false if request.xhr? end end end
toggle()
click to toggle source
# File lib/ecrire/app/controllers/admin/posts_controller.rb, line 73 def toggle @post = Admin::Post.find(params[:post_id]) if @post.published? @post.unpublish! else @post.publish! end respond_to do |format| format.js end end
update()
click to toggle source
# File lib/ecrire/app/controllers/admin/posts_controller.rb, line 58 def update @post.update!(post_params) respond_to do |format| format.js end end
Protected Instance Methods
fetch_post()
click to toggle source
# File lib/ecrire/app/controllers/admin/posts_controller.rb, line 104 def fetch_post @post = Admin::Post.find(params[:id]) end
post_params()
click to toggle source
# File lib/ecrire/app/controllers/admin/posts_controller.rb, line 100 def post_params params.require(:post).permit(:status, :stylesheet, :javascript, :slug, content: [:raw, :html]) end
search_posts_params()
click to toggle source
# File lib/ecrire/app/controllers/admin/posts_controller.rb, line 88 def search_posts_params params.require(:posts).permit(:title, :tag) rescue ActionController::ParameterMissing { status: 'all' } end
title_params()
click to toggle source
# File lib/ecrire/app/controllers/admin/posts_controller.rb, line 96 def title_params params.require(:post).permit(:title) end