app/controllers/communities_controller.rb
class CommunitiesController < ApplicationController
before_action :authenticate_user!
layout 'student'
# GET /communities/:id
def show
@community = authorize(Community.find(params[:id]))
target
end
# GET /community/:community_id/new_topic
def new_topic
@community = authorize(Community.find(params[:id]))
target
end
private
def page
@page ||= begin
page = params[:page].to_i
page.zero? ? 1 : page
end
end
def target
return unless @community.target_linkable?
@target ||= if params[:target_id].present?
t = Target.find_by(id: params[:target_id])
# Only return the target if the target is in a course that is linked to this community.
@community.courses.exists?(id: t&.course) ? t : nil
end
end
end