Sha256: 6cf565d5e0215df9f548bbadb3786fa67beba15c40b80a848437c68f94af0ef3
Contents?: true
Size: 975 Bytes
Versions: 3
Compression:
Stored size: 975 Bytes
Contents
class DiscussionsMessagesController < AjaxController include WithAuthorization before_action :set_discussion!, only: [:create, :destroy] before_action :authorize_user!, only: [:destroy] before_action :authorize_moderator!, only: [:question, :approve] def create @discussion.submit_message! message_params, current_user redirect_back(fallback_location: root_path) end def destroy current_message.destroy! redirect_back(fallback_location: root_path) end def approve current_message.toggle_approved! head :ok end def question current_message.toggle_not_actually_a_question! head :ok end private def set_discussion! @discussion ||= Discussion.find_by(id: params[:discussion_id]) end def authorize_user! current_message.authorize! current_user end def current_message @message ||= Message.find(params[:id]) end def message_params params.require(:message).permit(:content) end end
Version data entries
3 entries across 3 versions & 1 rubygems