creddit/app/controllers/subcreddits_controller.rb

65 lines
1.2 KiB
Ruby
Raw Permalink Normal View History

2015-12-11 15:26:51 -05:00
# controllers/subcreddits_controller.rb
class SubcredditsController < ApplicationController
before_filter :set_subcreddit, only: [:show, :edit, :update]
2015-12-14 13:28:39 -05:00
after_action :verify_authorized
def index
@subcreddits = Subcreddit.all
2015-12-14 13:28:39 -05:00
authorize Subcreddit
end
def show
2015-12-23 17:01:23 -05:00
@posts = @subcreddit.posts.includes(:user)
2015-12-14 13:28:39 -05:00
authorize @subcreddit
end
def new
@subcreddit = Subcreddit.new
2015-12-14 13:28:39 -05:00
authorize @subcreddit
end
def create
@subcreddit = Subcreddit.new(create_subcreddit_params)
@subcreddit.owner = current_user
2015-12-14 13:28:39 -05:00
authorize @subcreddit
if @subcreddit.save
redirect_to @subcreddit, notice: 'Subcreddit was created!'
else
render :new
end
end
def edit
2015-12-14 13:28:39 -05:00
authorize @subcreddit
end
def update
2015-12-14 13:28:39 -05:00
authorize @subcreddit
if @subcreddit.update(update_subcreddit_params)
redirect_to @subcreddit, notice: 'Subcreddit was updated!'
else
render :edit
end
end
private
def create_subcreddit_params
params.require(:subcreddit).permit(:name)
end
def update_subcreddit_params
params.require(:subcreddit).permit(:closed)
end
def set_subcreddit
@subcreddit = Subcreddit.friendly.find(params[:id])
end
end